草庐IT

java - ActionListener 是如何工作的?

我知道如何使用Action监听器并实现它们,但我想知道是否有人可以告诉我他们如何监听事件?有某种轮询机制吗? 最佳答案 Action监听器使用Observerpattern注册事件并且主事件循环会通知他们注册的任何事件。所以不,它不是轮询(拉)机制,而是相反的-(推)回调。这是“不要调用我们,我们会调用你”编程的一个例子。因为代码中的所有内容都在单个线程(事件循环)中运行,所以您不必担心不同事件之间的同步-因此您的代码是线程安全的。 关于java-ActionListener是如何工作的

java - 将 "On Change"监听器放在 jFormattedTextField 上

我的程序中有一个jFormattedTextField,当jFormattedTextField值被有效更改时,我需要更新jLabel的文本。实际上jFormattedTextField得到一个数字,jLabel显示这个数字和另一个数字之间的差异。我目前通过监听jFormatted文本的“FocusLost”事件来做到这一点。我该怎么做? 最佳答案 为属性“value”注册一个PropertyChangeListener到formattedFieldPropertyChangeListenerl=newPropertyChangeL

java - 在Java中的多个面板上画线

我试图在多个面板上画一条线(图中的红线),但我似乎无法让它工作。我怎样才能使这成为可能?有什么建议么? 最佳答案 绘制到glasspane上. 关于java-在Java中的多个面板上画线,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9239224/

java - 我如何将 JPanel 分成 70% 30%

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Swing:HowdoIsetacomponentheighttothecontainer'sheight?我如何像下面显示的图片那样划分JPanel有2个面板panel1和panel2panel1应占70%,panel2应占30%,或者panel1应大于panel2...我已经尝试过Gridlayout、BorderLayout但它不起作用。任何帮助将不胜感激。publicclassTestApplicationextendsJApplet{privatestaticfinallongserialVersi

java - 在 Java Swing 中用图案填充矩形

我知道如何用纯色填充Swing中的矩形:Graphics2Dg2d=bi.createGraphics();g2d.setColor(Color.RED);g2d.fillRect(0,0,100,100);我知道如何用图像填充它:BufferedImagebi;Graphics2Dg2d=bi.createGraphics();g2d.setPaint(newColor(r,g,b));g2d.fillRect(0,0,bi.getWidth(),bi.getHeight());但是如何用一些大小为100x100的平铺图案填充大小为950x950的矩形?(图案图片应该使用100次)

java - 如何在 swing 应用程序中正确放置 libgdx 应用程序?

我正在为我的游戏创建关卡编辑器,但我在将LwjglCanvas与JFrame结合使用时遇到了问题。我使用JFrame(不是LwjglFrame)来保持引擎和关卡编辑器尽可能独立。我有两个JAR:WorldEditor.jar和GameEngine.jar。在WorldEditor中,我有一个名为“测试”的按钮,假设加载GameEngine.jar(如果尚未加载)并将其启动(如果已加载则重新启动)到应用程序主框架中。实际上,我所做的是将WorldEditor游戏容器(例如JFrame中的JPanel)注入(inject)游戏应用程序,并使用Gdx.app.postRunnable将lwj

java - 如何在没有显式调用的情况下调用 'actionPerformed' 方法?

我刚开始使用Swing学习GUI,并不完全了解actionPerformed方法的工作原理。考虑以下代码://codetocreateabuttonandchangeitstextwhenclickedpublicclasssimpleguiimplementsActionListener{JButtonbutton;publicstaticvoidmain(String[]args){simpleguigui=newsimplegui();gui.go();}publicvoidgo(){JFrameframe=newFrame();button=newJButton("clickM

java - 如何删除仍然使用流布局的 JPanel 之间的填充?

这是我有疑问的Java应用程序GUI部分。这个GUI包含一个蓝色的JPanel(容器),默认FlowLayout作为LayoutManager,它包含一个包含两个JPanel的Box(以删除水平间距,或者我可以使用setHgaps为零而不是一个Box)它每个都包含一个JLabel。这是我创建该部分GUI的代码。privatevoidsetupSouth(){finalJPanelsouthPanel=newJPanel();southPanel.setBackground(Color.BLUE);finalJPanelinnerPanel1=newJPanel();innerPanel

java - 如何确定 Swing 鼠标事件发生在哪个监视器中?

我在一个组件上有一个JavaMouseListener来检测鼠标按下。如何判断鼠标按下发生在哪个监视器上?@OverridepublicvoidmousePressed(MouseEvente){//Iwanttomakesomethinghappenonthemonitortheuserclickedin}我想要实现的效果是:当用户在我的应用程序中按下鼠标按钮时,弹出窗口会显示一些信息,直到松开鼠标。我想确保这个窗口位于用户点击的位置,但我需要调整当前屏幕上的窗口位置,以便整个窗口可见。 最佳答案 可以从java.awt.Grap

java - FlowLayout 的顶部对齐

我正在使用FlowLayoutJPanel。当子组件高度不同时,面板看起来很难看。我正在寻找一种使它们顶部对齐的解决方案(类似于HTML中表格单元格的valign="top")。 最佳答案 我知道这个问题是在一年多以前提出的,但像我一样,我认为很多人会偶然发现这篇论坛帖子,然后尝试像错误报告中建议的那样做出解决方法(只是对我没用)仅供引用)。自JDK1.6以来,无论哪种方式都有更好的答案。Flowlayout有以下方法:publicvoidsetAlignOnBaseline(booleanalignOnBaseline)如果您在f