Tag: swing

如何添加一个function,我可以在我的生命游戏程序中获得这一代?

我试图让我的程序显示(在控制台中首先测试)在单元格改变其forms的每一步的计数。 因此,计数应该从0开始,并在每次单元格改变其forms时递增。 我试过这个,使用count ++然而它不会增加1,而是给我随机数。 任何帮助都感激不尽。 import java.awt.Color; import java.util.Timer; import java.util.TimerTask; import java.awt.Image; import java.awt.Graphics; import javax.swing.SwingUtilities; public class GameOfLife extends javax.swing.JFrame { final int wid = 100, hei = 50; public static int count; boolean[][] currentMove = new boolean[hei][wid], nextMove = new boolean[hei][wid]; boolean play; Image offScrImg; Graphics offScrGraph; public GameOfLife() { initComponents(); offScrImg […]

如何将数据库中的所有数据显示为jtable?

我们在数据库中有一个名为data的表,我们希望使用NetBeans IDE检索和显示JTable组件中的所有数据。 数据库中的每一行都应显示在jtable中。

Swing应用程序的丰富日历组件

我公司正在为Swing应用程序添加一些丰富的日历function。 我们希望它像Outlook的日历一样工作。 以下是我们的一些要求: 日,周和月的视图 能够将日历项目指定为分钟级别 将日历元素拖放到不同的插槽中的function 直接在日历上编辑日历详细信息 印刷支持 可定制的外观和感觉 508合规支持将是一个很大的优势 目前,我们正计划使用MiG日历 ,但我想知道是否有人对其他具有类似function的Swing组件有任何经验。

更改选项卡名称

我想通过添加ActionPerformed从弹出菜单中单击“重命名”项来更改选项卡名称,并直接在选项卡上键入新名称。 我找到了这个jTabbedPane.setTitleAt(count, “string here”); 但它不是我想要的,这只是将字符串设置为参数传递。 谢谢

无法在未修饰的JFrame中混合轻量级和重量级组件

我试图根据这些指南混合重量级和轻量级组件。 我期待以下代码将整个窗口绘制为绿色。 相反,它将屏幕的一半渲染为红色: import java.awt.Canvas; import java.awt.Color; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLayeredPane; import javax.swing.JPanel; public class Testcase extends Canvas { private static final long serialVersionUID = 0L; public static void main(String[] arg) { final boolean enableWorkaround = false; EventQueue.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JLayeredPane layers […]

带有Timer的Java变色图形

我想画一张每秒两次变色的光盘。 磁盘在DrawPanel上绘制,它延伸了JPanel,在main方法中,DrawPanel被添加到框架中。 对于颜色变换,我使用一个计时器,当我试图改变主方法中的DrawPanel的背景时(我注释掉了)。 有人可以告诉我为什么它不适用于Graphics g对象或任何其他建议吗? 我只是从main方法复制代码并将其添加到paintComponent()方法中,但在这里它不起作用。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class DrawPanel extends JPanel{ public GridBagLayout gbl; //position and dimension int x = 0, y = 0, width = 200, height = 200; public DrawPanel(){ repaint(); } public DrawPanel(GridBagLayout gridBagLayout) { this.gbl = gridBagLayout; […]

检测在java 7中按下的键

我正在尝试按键绑定a和d键以使角色左右移动,但只有在按下按键时才会执行一次操作。 如何修改此代码以使其在按下或关闭时执行事件? p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_W, 0),”up”); p.getActionMap().put(“up”, new UpAction()); p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, 0), “left”); p.getActionMap().put(“left”, new LeftAction()); p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_D, 0), “right”); p.getActionMap().put(“right”, new RightAction()); p.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),”quit”); p.getActionMap().put(“quit”, new StopAction());

使用ArrayList创建jTable

我搜索了一会儿,但我无法找到解决问题的方法。 我想在JTable中显示ArrayList的值,我对此很新,并且无法修复错误。 package Statistik; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Statistic { private static ArrayList rowA = new ArrayList(); private static ArrayList rowB = new ArrayList(); private static ArrayList rowC = new ArrayList(); private static ArrayList titel = new ArrayList(); private static ArrayList table = new ArrayList(); public static void main(String[] […]

Java Swing:从与JLayeredPane中的其他JPanel重叠的JPanel清除自定义绘图

我有一个JLayeredPane包含三个JPanels,其中两个重叠,我正在绘制形状。 重叠的两个JPanel中的一个需要将所有绘制的形状清除,而不会影响绘制到其下的JPanel的形状,从屏幕上消失。 目前我正在使用这样的东西: Graphics g = pane2.getGraphics(); g.clearRect (0, 0, 1000, 1000); 但这不仅清除了绘制到pane2的所有内容,还清除了下面的pane1。 所以我的问题是:有没有办法清除绘制到一个JPanel的所有内容而不影响任何绘制到JPanel下的内容?

使用仿射变换放大

我正在使用JAVA swing开展个人项目。 该项目是关于在窗口上绘制地图。 地图可以使用仿射变换进行缩放。 我在这里遇到的问题是每当我放大或缩小地图时,也会移动而不是放大/缩小位于屏幕中心的地图上的点 private void updateAT() { Dimension d = panel.getSize(); int panelW = d.width; int panelH = d.height; Rectangle2D r = regionList[0].get(“Victoria”).getShape().getBounds2D(); scaleX = (panelW/r.getWidth()) * zoom; scaleY = (panelH/r.getHeight()) * zoom; AffineTransform goToOrigin = AffineTransform.getTranslateInstance(-r.getMinX(), -r.getMinY()); AffineTransform pan = AffineTransform.getTranslateInstance(panX, panY); AffineTransform scaleAndFlip = AffineTransform.getScaleInstance(scaleX, -scaleY); //AffineTransform mirror_y = new AffineTransform(1, […]