【Java Swing应用程序中的次要重构导致巨大的减速】教程文章相关的互联网学习教程文章

java – 什么是Swing – 相当于HTML【代码】

我希望我的JComboBox将多个选项组合在一起,类似于HTML optgroup:<select> <optgroup label="A"> <option/><option/> </optgroup> </select> 我在Swing找不到任何解决方案.操作Combobox的UI-Renderer似乎是一个坏主意,因为它是OS&依赖于L& F(它们是私有的,所以不能延伸).解决方法:请考虑以下实现作为如何应用自定义样式和创建不可选项的基本指南:public class ExtendedComboBox extends JComboBox {public ExtendedComboBox()...

这是一个Swing Java 7渲染错误吗?【代码】

我做了一个简单的Swing应用程序.但渲染表现出错误.我做错了什么或者它是一个错误? 这是一个简单的小型JFrame,带有文本字段,按钮和空列表.如果我首先水平调整窗口大小然后键入文本字段,按钮会突然消失. 这是我的代码:public class App extends JFrame {public App() {JTextField messageFld = new JTextField();JButton saveBtn = new JButton("Save");JPanel inputPanel = new JPanel(new BorderLayout());inputPanel.add(messag...

JavaFx对SwingUtilities.invokeLater的响应【代码】

所以我知道JavaFx在使用线程时更新GUI的方法称为Task,但代码的工作方式是否相似或存在差异.让我举个例子: GUI之外的另一个类作为线程运行public void run(){while (socket.isConnected()) {String x = input.next();System.out.println(x);mg.updateChat(x)} }在实际的GUI里面public void updateChat(final String input){SwingUtilities.invokeLater(new Runnable() {@Overridepublic void run() {txtChat.setText(input); }}); ...

java – 使用Swing动画进行计时【代码】

我在Swing和角色动画方面遇到了一些问题,我有一个带有键监听器的JFrame,当用户按下时,它在这里调用我的JPanel方法for(int i=1;i<4;i++) { pY+=16;g.drawImage(perso,pX,pY,pX+50,pY+50,0+50*i,0,50+50*i,50,this this.repaint(); }这为我的角色设置了动画,但速度太快,以至于我们可以看到一个东西,我该怎么做才能观看动画?解决方法:Jonas已经给出了答案(使用Swing计时器),但是解释为什么你没有看到动画...

我们可以在Java Swing中使用GTK 2.0按钮样式吗?【代码】

Java Swing的问题在于外观(Metal,Nimbus,GTK ……),与SWT,Windows,Mac和Gnome工具包相比最差,并且获得好看的小部件是乌托邦,但我问的是但是问题. 我需要知道是否有可能将JButton调整为默认的GTK按钮.否则,我们可以给JButton文本一个样式(例如阴影)吗?public class myTweakedButton extends JButton {// Override style attributes here.}以下是GTK应用于按钮小部件的样式:style "button" {xthickness = 3ythickness = 3bg[NORMAL...

java – 使用Swing Timer临时隐藏通知【代码】

我正在使用Swing Timer来制作webNotification,一种自定义的JFrame,会在某个时间出现.我希望用户可以选择单击“隐藏”按钮来取消通知,并在一小时后返回.我怎样才能做到这一点?解决方法:javax.swing.Timer有一个初始延迟;只需将其设置为60 * 60 * 1000.您的actionPerformed()将在调用start()后一小时调用. 附录:这是一个按钮的示例,它隐藏了它在指定时间段内的封闭窗口.import java.awt.EventQueue; import java.awt.GridLayout; i...

java – 如何在swing jframe中嵌入SWT浏览器

我想将我的SWT浏览器嵌入swing jframe中.我尝试sample,但它需要调整窗口大小以加载浏览器窗口.如何重新调整画布,我该怎么做?解决方法:这是一个关于GIT的工作示例,展示了如何在传统的Swing JPanel中嵌入SWT:https://gist.github.com/caprica/6890618(文字版:here) 诀窍是创建一个链接到SWT shell的java.awt.Canvas.此画布可以添加到任何tradionnal Swing组件. SWT shell循环由单独的线程管理. 这是我在Windows 7上使用Java 7的屏...

java – 直到Runtime.getRuntime().exec()完成执行后才会显示Swing消息【代码】

我是Swing的新手.我正在尝试创建一个swing包装器,允许用户浏览并选择一个文件夹,该文件夹路径用作控制台.exe程序的命令行参数.在他们选择文件夹并单击“启动程序”按钮后,我希望摆动窗口显示一条消息,告诉他们程序正在处理(并显示一个时钟的GIF动画),运行外部程序,然后显示另一条消息当该程序完成执行时.我遇到的问题是“处理”消息直到外部程序完成执行后才会显示.在下面的代码中,单击“启动程序”按钮时会执行onLaunchProgram方法...

Netbean Java Swing,JPanel / Jlabel Cant覆盖整个框架【代码】

我想让我的JLabel覆盖整个框架但是当我这样做时它不会覆盖文本字段和确定按钮.如何让我的JLabel覆盖整个框架内容. P / s我想把这个jlabel作为背景,所以我可以将我的图标放在jlabel中作为背景图片.解决方法:这就是我要做的.使用JPanel作为背景并输入一些自定义绘制代码. >将JPanel拖到窗体并展开以覆盖整个框架,作为背景.>右键单击JPanel,然后从上下文菜单中选择“自定义代码”.您将看到以下对话框.您现在可以编辑代码. >确保从下拉...

如何在Java(Swing)中使用GridBayLayout在我的框架中生成此特定图像?【代码】

基本上,我该如何生成这个?我很确定这是GridBagLayout的工作,但我无法理解如何正确调整’Action Pane’与’Menubar’的大小.红色&黑色线条表示我认为你将在这种情况下使用的网格(33),但我可能完全错误,可能有一种方法可以在不同的配置中使用它.我试图弄乱GridBagConstraints中的weightx,weighty,gridheight,gridwidth值,但我无法实现我的目标. 请注意,第二条红线应该恰好是框架下半部分高度的三分之一. 这是我最近的尝试,尝试使用3...

在Java Swing中显示图像【代码】

public class MinesweeperMenu extends MinesweeperPanel{private JPanel picture = new JPanel(); private JButton play = new JButton("Play"); private JButton highScores = new JButton("High Score and \nStatistics"); private JButton changeMap = new JButton("Create Custom \nor Change Map"); private JButton difficulty = new JButton("Custom or\nChange Difficulty"); private JButton user = new JButton("Change...

在Java Swing上旋转JLabel或ImageIcon【代码】

首先,这是我使用swing的第一周,如果我的问题太明显,那就很抱歉.此外,我需要使用标准java库的解决方案,因为这是用于家庭作业,我不允许使用奇怪的库. 我正在使用JLabel和ImageIcon在JFrame上显示图像.现在我想将屏幕上的图像旋转到任意角度.我发现了一些关于Graphics2D的东西,但我找不到这样做的方法. 由于我发现的解决方案不起作用或我不理解它,我对旋转ImageIcon或JLabel的任何解决方案感兴趣.由于我将图像定位在JLabel上的setBoun...

java – 使用Swing在窗格中选择文件【代码】

我正在Swing中编写一个GUI,我想在主窗口中执行文件选择器,如下图所示: 虽然似乎有很多关于如何编写弹出文件选择器的教程,但是我没有看到关于如何在摇摆中完成这种类型的选择器的更多信息. 也很抱歉,如果之前有人询问,我做了一些搜索,无法找到其他任何东西..解决方法:JFileChooser实际上扩展了JComponent,因此您可以像使用任何其他组件一样使用它.以下是两个窗格内文件选择器的示例:public class TestInPaneChoosers {public stat...

java – 打印一个大的Swing组件【代码】

我有一个Swing表单,在JScrollPane中有一个自定义表(它只是一个JPanel,而不是JTable子类),我试图让它打印出来.如果我只是将整个框架发送到打印机,滚动窗格会切断,如果我将框架的大小调整为滚动窗格内容的大小,某种内部屏障会阻止JFrame变得超过1100像素高. 另一种方法是创建对话框的内容窗格而不将其附加到根JFrame,因为JPanel的大小在这种情况下不受限制.但是为了让组件自行调整并调整到适当的大小,我似乎需要使面板可显示,这意味着...

SwingWorker,Thread.sleep()或javax.swing.timer?我需要“插入暂停”【代码】

我正在做一个记忆游戏,我想设置它,所以我点击第一个“卡”,然后第二个如果它们不一样第二张卡显示几秒钟然后他们返回到“非”翻转“位置. 我尝试使用SwingWorker,Thread.sleep和SwingTimer,但我无法让它工作.使用Thread.sleep,第二张卡片不会“翻转”,如果它是重复的,它会等待睡眠时间并消失.如果它不匹配则等待“面朝下”并且在睡眠定时器之后第一张卡确实翻转.无论我在哪里放置Thread.sleep,都会发生这种情况. 使用Swing Timer时...

SWING - 相关标签