Tag: swing

如何从(SQLite)数据库加载的JTable中插入,更新和删除项目

我目前有2个类,一个显示GUI,一个是从数据库中获取项目。 我的代码如下: 此代码用于在GUI中显示JTable public void table() { if(SOMR.tableCall() == true) { this.columnNames = SOMR.getCol(); this.data = SOMR.getData(); JTable table = new JTable(data, columnNames) { public Class getColumnClass(int column) { for (int row = 0; row < getRowCount(); row++) { Object o = getValueAt(row, column); if (o != null) { return o.getClass(); } } return Object.class; […]

使用多字元素搜索JComboBoxes

例如,假设我有一个带有元素{“example 1”,“example 2”,“example 3”}的JComboBox (请注意示例和相应数字之间的空格)。 当您在选择combobox时尝试通过键入搜索“示例2”时,它会关闭,因为空格键会切换组件的弹出窗口。 这可以分为两个问题: 我做了一个swing事件,到目前为止它识别出空格键,我已经禁用了JComboBox的默认空格键动作。 如何制作它以便按空格键实际上会使其添加到搜索中? 如果#1不可能或未知,还有什么方法可以做到这一点? 任何能够正确回答这个问题的人都绝对会收到一个upvote。

如何将字体颜色应用于使用DefaultTableModel的JTable上的特定单元格

我正在尝试创建一个连接到MS Access的简单To-Do列表Java应用程序,我使用JTable和DefaultTableModel来显示列表。 我想通过在单击按钮时更改其颜色来标记已完成的任务。 我有一个名为’ completed ‘的布尔字段作为指标。 String header[] = {“priority”, “task”}; String data[][]; DefaultTableModel model = new DefaultTableModel(data, header); JTable table = new JTable(model); // to be replaced with code that affects only specific cells not the whole table table.setFont(customFont); 我已经有一个名为customFont的Font对象,可以应用它。 我的问题是,如何将它仅应用于已完成== true的特定单元格。 我们非常感谢示例代码。

在jTable中设置jCheckBox不可见

我有一个带有两列的jTable 。第一列设置为布尔值(用于复选框),第二列设置为字符串值。当我使用Netbeans ,复选框被添加到第一列的所有行中。 我试图仅为那些在第二列中具有值的行添加它。 我用代码试了一下, private class CustomCellRenderer extends DefaultTableCellRenderer { /* (non-Javadoc) * @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int) */ @Override public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) { Component rendererComp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,row, column); for(int i=row;i<jTable1.getRowCount();i++){ if(jTable1.getValueAt(i, 1)==null){ jTable1.setValueAt(true, i, 0); //checkbox.setOpaque(false); } } […]

将JTextArea插入带有JLabel的JPanel

我正在尝试显示我发布的图纸。 当我的代码运行并且用户单击“帐户”时,面板仅显示“确定”和“取消”按钮(参见屏幕截图)。 我已经为面板accountPanel添加了三个带有JLabel的JTextAreas,但是它们都没有显示。 我的代码如下。 import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.Component; import java.awt.LayoutManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JRadioButton; import javax.swing.JTabbedPane; import javax.swing.JTextArea; public class TestApplication implements ActionListener { public static void main(String[] args) { JLabel input = new JLabel(); […]

Java GridBagLayout – 如何将我的组件无间隙地逐个定位?

我正在使用GridBagLayout通过以下代码放置我的GUI组件,希望组件在列中逐个放置,没有任何间隙: import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class TestGUI extends JFrame{ public TestGUI(){ JPanel bigPanel = new JPanel(new GridBagLayout()); JPanel panel_a = new JPanel(); JButton btnA = new JButton(“button a”); panel_a.add(btnA); JPanel panel_b = new JPanel(); JButton btnB = new JButton(“button b”); panel_b.add(btnB); GridBagConstraints c = new GridBagConstraints(); c.gridx = […]

在我的案例中使用Set删除数组中的重复元素

我有一个对象Array ,因为我使用的是第三方库,通过从库中调用一个方法来获取数组, 我无法访问 MyObject 类 。 //I have no access to MyObject class, I am sure the objects contain duplicated elements. MyObject[] objects = SOME_LIB_CLASS.getObjects(); System.out.println(“length is “+ objects.length); //length is 6 我尝试删除对象中的重复元素,我使用Set : Set objectSet = new HashSet(Arrays.asList(objects)); System.out.println(“length is “+ objectSet.size()); //length is 6 still 但是objectSet仍然包含重复的元素,为什么以及如何在不迭代数组的情况下解决我的问题?

后退/主页按钮

我以前尝试过这个并且失败了。 如何将JButton添加到JFrame,以将其返回到先前打开的JFrame或“Home”Frame。 在我的应用程序中,我有4个JFrame,主要一个和3个按钮可访问。 我的完整代码(安静长,对不起) package me.jamplifier; import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.ScrollPaneConstants; import […]

如何开始:使用AssertJ Swing测试Java Swing GUI

在使用Swing开发Java桌面应用程序时,我遇到了直接测试UI的需要,而不仅仅是通过unit testing来测试底层控制器/模型类。 这个答案(关于“什么是基于Swing的应用程序的最佳测试工具?”)建议使用FEST ,遗憾的是停止使用。 然而,有一些项目从FEST离开的地方继续。 一个特别的(在这个答案中提到)引起了我的注意,因为我之前在unit testing中使用它: AssertJ 。 显然有AssertJ Swing ,它基于FEST,提供了一些易于使用的编写Swing UI测试的方法。 但是,进入初始/工作设置很麻烦,因为很难说从哪里开始。 如何为以下示例UI创建最小测试设置,仅包含两个类? 约束:Java SE,Swing UI,Maven项目,JUnit public class MainApp { /** * Run me, to use the app yourself. * * @param args ignored */ public static void main(String[] args) { MainApp.showWindow().setSize(600, 600); } /** * Internal standard method to initialize the view, […]

如何使keyPress与keyListener一起使用

下面是来自“Simon”的代码,其中我运行时显示了应该显示的正确段,但是我的keyPress有问题,当我使用它时它不会使用箭头键点亮。 不是一个伟大的编码器,我真的需要一些帮助。 import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.geom.Arc2D; import javax.swing.Timer; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; public class Simon extends JFrame implements KeyListener { // public DrawStuff game; public static Simon simon; Graphics2D g2; Graphics2D g3; Graphics2D g4; Graphics2D […]