Tag: swing

如何使JComboBox表编辑器具有普通JComboBox的设计?

我有一个JComboBox用作JTable的编辑器。 在图片中,您可以在标有Produs的列中看到它们。 我想在网格单元格中使用独立JComboBox的设计,特别是combobox的右侧部分,网格单元格中缺少三角形,因此用户将知道网格单元格是combobox而没有点击其中一个。 如何将JComboBox ( IsBackFlush )的设计应用于网格中的JComboBoxes ? 基本上,我如何根据comboBox2的设计设计comboBox1 ? 谢谢。

如何消除大尺寸java swing标签的差距

在我的应用程序中,我有一个字体大小超过200的标签。这个标签包含大的上下(不规则)间隙。 我该如何删除它? 这是我的代码: package Core; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class LabelDemo extends JPanel { public LabelDemo() { super(new GridBagLayout()); JLabel label2; GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; // Create the other labels. label2 = new […]

将JLabel移动到其他JLabel – GUI

我正试图让JLabel移动到其他JLabel,现在只有1个计时器工作。 它应该像火车穿过轨道一样运行,一直绕着轨道行进,最后一直向后从它开始。 我不知道如何让它一路走来,任何帮助都表示赞赏。 谢谢。 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.JTextField; import java.awt.Color; import javax.swing.JSlider; import javax.swing.SwingConstants; import javax.swing.border.BevelBorder; public class MoveLabel { private JTextField textField; private JTextField tf; private JTextField textField_1; private JTextField textField_2; private JTextField textField_3; […]

java拖放

我试着熟悉java中的拖放,但我找到的所有教程都是……(让我生气) 我想要的是从JList(包含在名为“UserPanel”的自制JPanel中)拖动“PublicUserLabel”并将其放入从JTabbedPanel无效的自制类中。 拖动对象本身而不是它的字符串表示非常重要! 这就是我到目前为止:PublicUserLabel public class PublicUserLabel extends JLabel implements DragSourceListener, DragGestureListener, Transferable { private DragSource ds; private PublicUser user; public PublicUserLabel(PublicUser user) { super(user.getName()); this.user = user; ds = new DragSource(); ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this); } @Override public void dragGestureRecognized(DragGestureEvent e) { ds.startDrag(e, DragSource.DefaultCopyDrop, this, this); } @Override public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException […]

JTable +排序特定字段

我有一个JTable并添加了排序。 现在,JTable有5列,日期字段中的第2列转换为DD / MM / YYYY,并显示在单元格的JTextField中。 当我将它排序为字符串并且我将日期混淆时,如何更改该特定列的排序行为? 例如。 按照ASC顺序排序后,我得到了这个: 01/02/2012 01/03/2011 01/04/2011 01/05/2011 01/06/2011 01/07/2011 01/08/2011 01/09/2011 01/10/2011 01/12/2011 这是错的,我应该得到结果 01/03/2011 01/04/2011 01/05/2011 01/06/2011 01/07/2011 01/08/2011 01/09/2011 01/10/2011 01/12/2011 01/02/2012 我的代码现在看起来像这样排序 List sortKeys = new ArrayList(); sortKeys.add(new SortKey(2, SortOrder.ASCENDING)); table.getRowSorter().setSortKeys(sortKeys); 我应该仅针对该特定列更改哪些内容?

闪烁托盘图标

我知道如何使用java在窗口的系统中放置一个图标,但是执行systray图标闪烁的最佳方法是什么? 或者如果我可以不时更换任何图标或某些事件(在应用程序运行时),请提前分享您的经验

Swing – Thread.sleep()停止JTextField.setText()工作

可能重复: 对单个线程使用sleep() 使用Thread.sleep()时,我遇到了JTextField.setText()的问题。 这是我正在制作的基本计算器。 当输入字段中的输入格式不正确时,我希望“INPUT ERROR”出现在输出字段中5秒钟,然后清除它。 当我只将文本设置为“INPUT ERROR”并打印出中间的文本时,setText()方法确实有效,我发现它确实可以同时使用它和setText(“”)。 当我在它们之间放置Thread.sleep()时会出现问题。 这是代码的SSCCE版本: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.regex.Pattern; import javax.swing.*; public class Calc { static Calc calc = new Calc(); public static void main(String args[]) { GUI gui = calc.new GUI(); } public class GUI implements ActionListener { private JButton equals; private JTextField inputField, outputField; public GUI() […]

在通过Java Webstart运行时,invokeLater中出现NullPointerException

从JRE 1.7.0_21升级到1.7.0_25-b15后,我的应用程序在从Java WebStart运行时开始在SwingUtilities.invokeLater(…)中抛出NullPointerException。 令人惊讶的是,它作为一个独立的应用程序(在JWS之外)执行时,效果很好。 这是堆栈的顶部: Exception in thread “AWT-EventQueue-2” java.lang.NullPointerException at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1011) at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1007) at sun.awt.SunToolkit.getSystemEventQueueImpl(SunToolkit.java:1002) at java.awt.Toolkit.getEventQueue(Toolkit.java:1730) at java.awt.EventQueue.invokeLater(EventQueue.java:1217) at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1290) at AppletView$8.setBaseUnits(AppletView.java:536) (…) 为了全面了解:方法setBaseUnits(..)被远程服务器从RMI调用作为回调。 完整的堆栈跟踪很长。 安全模型中是否有某些内容在RMI或JWS中发生了变化,可能会破坏事物? 如果是这样,我会期待一些安全性exception,但它可能是在JRE中未正确检测到的并导致NPE。 任何建议表示赞赏。 —-更新1 : JRE 1.7.0_25更新可能存在类似的问题,可能涉及一些安全更改和AppContext对象: https : //forums.oracle.com/message/11080621 https://forums.oracle.com/thread/2552799 。 我试过建议修复: https : //forums.oracle.com/message/11082162#11082162但没有任何成功。 我可以在我的应用程序中看到3个AWT-EventQueue线程,数字从0到2.看起来如果JWS启动程序,JRE会为不同的应用程序上下文创建额外的事件队列。 JWS中有3个AppContext和3个EVT,如果从IDE执行程序,则只有一个上下文和EVT。 —-更新2 : 下面的guruman建议有一个解决方法(非常感谢)。 不幸的是,必须替换来自RMI线程的所有对SwingUtilities.invokeLater(..)的调用,并且程序开始依赖于Sun JRE内部API。 我仍在寻找更具体的方法,不是针对Sun JRE的。 我认为这是一个JRE错误。 也许它可以以某种方式修补:在RMI线程中AppContext不应为null。 —-更新3: […]

使用静态类或此引用将数据从一个Jframe传输到另一个jframe?

我有一个jFrame,它有一个jTextbox和一个按钮。 另一个jFrame有一个jLabel。 我想在按下按钮时将第一帧文本框中写入的文本显示到第二帧的jLabel。 正如我搜索到的那样,我得到了一些不可靠的答案。 但据我所知,可以通过创建另一个静态类或调用此引用来完成。

矩形中的Java中心文本

我使用drawString()方法使用Graphics绘制字符串,但我想将文本居中放在矩形中。 我该怎么做?