Tag: swing

Java Swing闪烁按钮序列

我正在尝试使用Swing(Jframe / jbuttons / grid setup)进行补救。 目前我无法弄清楚如何让一系列按钮闪烁。 因为actionPerformed是非静态的,所以我无法通过我的swing计时器运行一个线程。 我不知道该怎么办。 如果有人能看一眼我的代码并提供见解,我真的很感激。 package MemoryGame; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.util.Random; import java.lang.InterruptedException; public class GUI { static int seconds = 0; static int buttonIndex = 0; int[] movesArr = new int[10]; int numberOfButtons = 18; Thread thread = new Thread(); boolean[] […]

鼠标侦听器不适用于界面

我对一个奇怪的鼠标监听器行为感到困惑。 首先,我定义了一个接口: public interface GeniusField { public void setEdited(Boolean b); public void addMouseListeners(); public void addKeyListeners(); public String getStringValue(); } 然后,我实现了这个接口: public class GeniusComboField extends JComboBox implements GeniusField { public GeniusComboField() { super(); //blabla addMouseListeners(); addKeyListeners(); } @Override public void addMouseListeners() { System.out.println(“ADD LISTENTER”); this.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { System.out.println(“mouse mouse”); } […]

JFrame在while循环期间冻结

我正在研究一个Java程序,它读取文本文件做了一些概率计算。 读取文件和所有相关的计算都是在while循环中完成的。 我使用JFrame创建了一个GUI,我在其中添加了一个进度条(使用JProgressBar)来显示进度,因为程序需要一段时间来处理文件。 代码看起来像 – while( there are more files to read ) { Read this file ; Do calculations ; Update progress bar ; } 现在,问题是一旦while循环开始并处理第一个文件,JFrame就会冻结 。 进度条没有更新,我无法按下JFrame中的任何按钮。 一旦while循环结束,帧就会更新,进度条会更新到最终值(因此,进度条从0开始然后暂停,最后变为100) 。 有人可以解释为什么JFrame会冻结吗? 是否可以在while循环迭代中更新它(JFrame中的进度条)? 谢谢 !

不知道如何在JFormattedTextField上修复我的PropertyChangeListener

编辑结束后 测试代码和输出 import java.awt.EventQueue; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.text.NumberFormat; import javax.swing.JFormattedTextField; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.text.NumberFormatter; public class Test{ private JFormattedTextField input, input2; private NumberFormatter formatter; private PropertyChangeListener listener; public Test(){ formatter = new NumberFormatter(NumberFormat.getNumberInstance()); input = new JFormattedTextField(formatter); input2 = new JFormattedTextField(formatter); listener = new PropertyChangeListener(){ @Override public void propertyChange(PropertyChangeEvent evt) { […]

Swing:启用延迟按钮

private void OptionsActionPerformed(java.awt.event.ActionEvent evt) { // After clicking on button X, I want 4 other buttons to show up // in a sequential order ButtonTrue(); } public void ButtonTrue() { Audio_Options.setVisible(true); letsSleep(); Control_Options.setVisible(true); letsSleep(); Display_Options.setVisible(true); letsSleep(); Network_Options.setVisible(true); } public void letsSleep() { try { Thread.sleep(10000); } catch (InterruptedException ex) { Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE, null, ex); } } […]

在JXDatePicker / JXMonthView中禁用日期

我正在编写的程序允许用户单击JXDatePicker上的日期来设置任务完成的日期。 我想在JXDatePicker中禁用未来日期的选择,因为在我的程序中选择将来的日期无效。 我发现JXDatePickers包含一个JXMonthView,似乎日期选择器或月份视图不允许您禁用个别/日期范围。 我可以更改各个日期和日期范围的背景颜色,这样我就可以将未来的日期作为单独的颜色。 然后,只要用户单击日历以禁止将来的日期,我就可以添加一些validation。 但是,如果我能说一下像calendar.setMaxDate(今天)这样的东西,那将会更加清晰; 有没有人知道有没有比手动编码function更简单的方法? 也许另一个日期选择器组件修复了这个问题?

怎么做一个无限的jscrollpane?

我之前已经实现了拖动滚动,但是创建无限滚动窗格的最佳方法是什么? 当然不会有任何滚动条,我会实现拖动滚动。 我想要做的是在无限的表面上实现动态加载。 编辑 当然它实际上并不是无限的。 我在问如何假装它。

如何将JFXPanel添加到现有的swing应用程序中

我非常想知道如何将我的JFXPanel(这是一个mp3播放器)集成到现有的Swing应用程序中 – 这是一个添加了几个不同JPanel的JFrame。 我是JavaFX的完全菜鸟,它与swing非常不同。 我能够得到下面的代码来运行并做我想要的。 它将播放我所包含的目录中的mp3文件。这是来自某人编写的样本的代码。 我的问题是这段代码创建了JFrame,主要方法以及此代码中的所有内容。 我有一个已经制作的swing应用程序,我只想添加一个具有以下function的JFXPanel。 JavaFX中有许多新方法我很困惑,不知道如何使用或放在我的Swing应用程序中。 例如invokeLater runLater和initAndShowGUI。 我知道这可能是一个令人烦恼的问题,很难从这样的菜鸟那里回答。 我有一个项目将于明天晚上午夜到期,我真的希望将其作为应用程序的一部分实现。 我们没有在课堂上学习JavaFX,我不知道这对我来说是个棘手的问题。 package application; import java.io.*; import java.util.*; import javafx.application.Platform; import javafx.beans.value.*; import javafx.embed.swing.JFXPanel; import javafx.event.*; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.scene.media.*; import javafx.util.Duration; import javax.swing.*; /** Example of playing all mp3 audio files in a given directory * […]

在JOptionPane中显示数组(字符串)的内容

我这里有三个要求输入的类,应该在对话框中显示一个字符串数组。 第1类: public class Card { public int rank; public int suit; public String rankName; public String suitName; public String cardName; public Card () { rank = 0; suit = 0; rankName = “”; suitName = “”; cardName = “”; } public int getRank() { return rank; } public void setRank(int rank) { this.rank = […]

在Java中与SQL Access数据库建立SQL连接时找不到合适的驱动程序

我在一个简单的Java应用程序中有一个Jbutton(GetDataFromDB),它假设将数据从下面代码中的路径中描述的数据库加载到应用程序中的Jtable中。 编辑答案代码: private void GetDataFromDBActionPerformed(java.awt.event.ActionEvent evt) { Connection con; ResultSet rs = null; Statement stmt; try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); con = DriverManager.getConnection(“jdbc:odbc:Driver={MS Access Driver (*.mdb, *.accdb)};Dbq=C:\\Users\\Bruger\\Documents\\Database11.accdb”); stmt = con.createStatement(); String query = null; query = “select * from cost”; rs = stmt.executeQuery(query); i = 0; while (rs.next()){ i = i + 1; jTable.getModel().setValueAt(rs.getString(1), i, 1); jTable.getModel().setValueAt(rs.getString(2), […]