草庐IT

java - Graphics 和 Graphics2D 之间的区别?

Graphics和Graphics2D有什么区别?Graphics2D是否是Graphics的扩展?publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawRect(25,25,20,20);//useGraphicstopaintrectangleGraphics2Dg2=(Graphics2D)g;g2.drawRect(0,0,20,20);//useGraphics2Dtopaintrectangle} 最佳答案 Graphics本身是一个抽象类,因

java - 如何将监听器附加到 JavaFX 微调器?

我遇到了JavaFX微调器似乎(无论如何对我来说)一个奇怪的问题,并且无法将任何类型的监听器附加到它。我习惯了Swing编程,我可以在其中将ChangeListener附加到JSpinner并以这种方式接收事件,但JavaFX似乎没有类似的功能。有问题的代码...IntegerSpinnerValueFactoryspinnerValueFactory=newSpinnerValueFactory.IntegerSpinnerValueFactory(0,Integer.MAX_VALUE);hullPointsSpinner=newSpinner(spinnerValueFactor

java - 我如何在 Swing 中捕获此异常?

我有一个Swing应用程序,即使我在try/block中拥有所有内容,也没有捕获异常。publicstaticvoidmain(String[]args){try{Appapp=newApp();app.setVisible(true);}catch(Throwablee){System.err.println("neverprinted");}}我得到的只是这个堆栈跟踪:Exceptioninthread"AWT-EventQueue-0"java.lang.ArrayIndexOutOfBoundsException:9>=9atjava.util.Vector.elementAt

java - 当显示 HTML 文本时,禁用时 JLabel 不会变灰

如何让显示HTML字符串的JLabel显示为灰色(这是不显示HTML文本的JLabel的行为)?除了通过修改foreground属性实际更改颜色之外,还有其他方法吗?JLabellabel1=newJLabel("Normaltext");JLabellabel2=newJLabel("HTMLtext");//Bothlabelsarenowblackincolourlabel1.setEnabled(false);label2.setEnabled(false);//label1isgreyedout,label2isstillblackincolour非常感谢您的所有回复。据我所

java - 使用未修饰的 JFrame 时如何添加对调整大小的支持?

我想自定义我的标题栏、最小化、最大化和关闭按钮。所以我在JFrame上使用了setUndecorated(true);,但我仍然希望能够调整窗口大小。实现它的最佳方法是什么?我在RootPane上有一个边框,我可以在边框或RootPane上使用MouseListeners。有什么建议吗?importjava.awt.Color;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.border.Li

java - 事件派发线程在哪里调用?

我读到所有构造Swing组件和处理事件的代码都必须由事件调度线程运行。我了解这是如何通过使用SwingUtilities.invokeLater()方法完成的。考虑以下代码,其中GUI初始化是在main方法本身中完成的publicclassGridBagLayoutTesterextendsJPanelimplementsActionListener{publicGridBagLayoutTester(){setLayout(newGridBagLayout());GridBagConstraintsgbc=newGridBagConstraints();JButtonbutton=n

java - getContentPane().add() 和 add() 的意思一样吗

getContentPane().add()和add()的意思一样吗?publicclassTestFrameextendsJFrame{publicTestFrame(){JLabellabel=newJLabel("jo");getContentPane().add(label);add(label);}} 最佳答案 DoesgetContentPane().add()meanthesameasadd()?是的,从1.5+开始。 关于java-getContentPane().add

java - JDesktopPane - 如何获得 Activity 框架

如何获取JDesktopPane中的Activity(具有焦点)框架(JInternalFrame)?我的MDI记事本需要它(并不是说任何人都会使用它,只是一个培训项目)。查看api,我只看到获取所有JInternalFrames的函数,而不是Activity的函数。 最佳答案 使用JDekstopPane.getSelectedFrame()方法(来自文档:此JDesktopPane中当前Activity的JInternalFrame,如果当前没有Activity的JInternalFrame,则为null。)或JDesktopP

java - 将组件放置在任意 (x,y) 坐标处

我想在JPanel中随机放置一些按钮(x,y),这些布局类很烦人。在Swing中这甚至可能吗? 最佳答案 如果使用null布局,则可以设置坐标:panel.setLayout(null);Buttonb=newButton(....);panel.add(b);b.setSize(width,height);b.setLocation(x,y);但强烈建议使用布局。布局类并不“烦人”,如果您正确理解它们,它们就是您的friend。我建议阅读tutorialaboutGridBagLayout,它很容易理解(有点像html表格)并且非

java - 设置主框架不可调整大小

我想将我的主框架(整个应用程序)设置为不可由用户调整大小。谁能告诉我该怎么做?当我在布局设计中设置最小和最大尺寸时,它不起作用。我仍然能够调整整个应用程序的大小。 最佳答案 假设您正在使用Swing和JFrame,调用setResizable(false). 关于java-设置主框架不可调整大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9033276/