Tag: swing

Java应用程序中的可定制快捷键

我想在我的Java应用程序中包含可自定义的键盘快捷键(用户可以更改它们)。 由于这不是非常不寻常的要求,我想知道是否有一个图书馆/项目可以帮助我实现我的目标。 不幸的是我在Google上找不到任何有用的东西。 谢谢,一个 从头开始build立我自己的快捷pipe理器。 这大约花了20个小时。

屏幕上鼠标位置周围区域的缩放框

有什么办法可以创build一个Javadynamic缩放框,其中包括例如20x20pix区域的光标(但即使光标将超出应用程序的框架),将例如在一个小的JPanel中显示? 我正在问一个颜色select器程序的上下文。 需要实现的最后一个function就是Zoom Box。

JTextArea附加问题

我做了一个备份程序,我希望所有的程序备份显示在JTextArea上。 好吧,它的工作,但只有在程序完成备份后。 我该如何解决? 我运行这个代码在这里: 备份方法 public void startBackup() throws Exception { // txtarea is the JTextArea Panel.txtArea.append("Starting Backup…\n"); for (int i = 0; i < al.size(); i++) { //al is an ArrayList that holds all of the backup assignments selected // from the JFileChooser File file = new File((String) al.get(i)); File directory = new File(dir); […]

用java中的另一个线程刷新GUI(swing)

我有一个主要的程序,其中GUI是基于swing,并根据四个状态之一的GUI元素有不同的参数。 public class Frame extends JFrame implements Runnable { Status status = 1; … @Override public void run() { switch (status) { case 1: … case 2: … } public void updateGUI(Status status) { this.status = status; SwingUtilities.invokeLater(this); } 如果我想刷新GUI调用只有适当的参数的updateGUI,一切都很好。 但是程序还会创build一个额外的线程,在处理完相关的数据之后,应该更改GUI主程序。 不幸的是我不能在这个线程中调用updateGUI(..)方法。 我知道我可以使用invokeLater或SwingWorker来刷新,但有超过10个元素,所以我宁愿使用方法udpateGUI()。 我会很感激任何提示。

如何测量/计算文档需要呈现的大小?

我有一个javax.swing.text.Document ,我想计算文档需要呈现自身的边界框的大小。 那可能吗? 对于纯文本( height = line count * line height , width = max width over each line )几乎是微不足道的。但是,我怎样才能用RTF,HTML或任何其他文件呢?

Java Swing:为什么必须调整框架大小,以便可以显示组件添加

我有一个简单的Swing GUI。 (而不仅仅是这个,我写的所有的swing GUI)。 运行时,除了黑屏以外不显示任何东西,直到我调整主框的大小,所以每个组件都重新绘制了,我可以显示它们。 这是我的简单代码: public static void main(String[] args) { JFrame frame = new JFrame("JScroll Pane Test"); frame.setVisible(true); frame.setSize(new Dimension(800, 600)); JTextArea txtNotes = new JTextArea(); txtNotes.setText("Hello World"); JScrollPane scrollPane = new JScrollPane(txtNotes); frame.add(scrollPane); } 所以,我的问题是:当我开始这个类时,框架会出现所有我添加的组件,直到我调整框架。 谢谢 :)

如何在Swing的JTable列中添加不同的JComboBox项目

我想在第一列的JTable(3,3)中添加JComboBox。但是在第一列中,每一行都有自己的一组ComboBox元素。 当我尝试使用 table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(comboBox_Custom)); 每行都被设置为相同的一组ComboBox值。 但是我希望每行ComboBox都有不同的项目。

在运行时更改字体

请问是否有另一种方法如何在运行时改变字体作为使用FontUIResource,整个AWT / Swing GUI,没有任何知识/兴趣,如果有本地variables和types的JComponents import java.awt.*; import java.awt.event.*; import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.basic.BasicComboBoxRenderer; public class SystemFontDisplayer extends JFrame { private static final long serialVersionUID = 1L; private JFrame frame = new JFrame("Nimbus UIDeafaults and Font"); private JComboBox fontsBox; private javax.swing.Timer timer = null; private JButton testButton = new […]

Java – 滚动到JTextArea中的特定文本

我试图在我正在编写的当前程序中实现一个function,我想学习如何向下滚动到JTextArea中的特定文本。 例如,可以说我有以下几点: JTextArea area = new JTextArea(someReallyLongString); someReallyLongString将代表一个段落,或一个非常大的一段文字(其中垂直滚动条可见)。 所以我想要做的是向下滚动到该文本区域内的特定文本。 例如,假设someReallyLongString在滚动条中间附近包含单词“the”(意思是这个单词不可见),那么我将如何滚动到那个特定的文本? 谢谢,任何帮助将非常赞赏。

JComboBox设置标签和值

是否有可能为JComboBox设置一个值和一个标签,这样我可以显示一个标签,但得到一个不同的值? 例如在JavaScript中,我可以这样做: document.getElementById("myselect").options[0].value //accesses value attribute of 1st option document.getElementById("myselect").options[0].text //accesses text of 1st option