Tag: jpanel

打开两个面板

我有一个包含2个面板的J框架,我可以使用Visible在它们之间切换,但我希望它们出现在相同的位置和相同的尺寸。

为什么重新粉刷需要花费这么多时间?

我有类似的东西(现在时间显示正确)。 我已将KeyListener添加到这些JPanel所在的JFrame中。 当我按 – >(右键)时,我希望时间增加1,但它确实很慢(比如3秒等待,甚至更长)。 程序中的算法不是故障(没有GUI检查,它们很快)。 有没有办法加快反应速度 – >按键 – >改变时间。 图像是png所以它应该很快。 我每次想要刷新时都会调用aktualizuj()。 PS:时间在屏幕的左侧:14:28 import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.Border; public class InfoLiniaPanel extends JPanel { Linia linia; Dimension d; int nrPrzystanku; public InfoLiniaPanel(Linia linia) { super(); this.linia = linia; nrPrzystanku […]

将ChartPanel添加到jPanel不起作用

我有这个小组: public class StripchartPanel extends javax.swing.JPanel { public StripchartPanel() { XYSeries series = new XYSeries(“XYGraph”); series.add(1, 1); series.add(1, 2); series.add(2, 1); series.add(3, 9); series.add(4, 10); // Add the series to your data set XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); // Generate the graph JFreeChart chart = ChartFactory.createXYLineChart( “XY Chart”, // Title “x-axis”, // x-axis Label […]

计算器:按钮仅在鼠标hover在Test JFrame类中时显示

我很急,所以关于副本的idc。 我还在尝试学习Java和术语,直到本学期结束,就是这样。 我用了一个模板。 我正在使用背景图像(“面板”),这使一切变得复杂。 基本上,当我将鼠标hover在按钮上时,按钮才会显示。 它显然与JPanels有关。 我排除了你可能会要求的代码,所以希望这次有人帮助我,因为我的按钮不像我在查看其他推荐post时看到的那些。 另外,我可以将JFrame设置为固定大小(Test类代码中的大小)吗? 代码可能是多余的,但我只是想让一切正常。 请记住,我是Java的新手。 测试类: public class TestCalculator { public static void main(String[] args) { JFrame frame = new JFrame(TestCalculator.class.getSimpleName()); ImagePanel panel = new ImagePanel(new ImageIcon(“01_Crane_AGweb.jpg”).getImage()); SimpleArithmeticCalculator calc = new SimpleArithmeticCalculator(); calc.SetColors(null , Color.white , new Color(72,61,139)); calc.setVisible(true); calc.setOpaque(false); panel.setVisible(true); panel.setOpaque(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); calc.add(panel); frame.add(panel); frame.add(calc); frame.getContentPane().add(calc); frame.setPreferredSize(new Dimension(358,379)); […]

按下JButton时,JFrame不添加组件

我的代码基本上是关于有一个框架,它有一个按钮。 按下按钮可以绘制矩形,从鼠标按下和鼠标释放获取坐标。 现在,如果你删除按钮代码完美,这里是代码。 //测试文件 package ActionTest; import java.awt.*; import javax.swing.*; public class MouseTest { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new MouseFrame(); frame.setTitle(“MouseTest”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setSize(500,500); } }); } } 我的框架,调用鼠标组件 package ActionTest; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class MouseFrame extends JFrame { […]

如果在同一帧-Java中有多个JPanel,我如何在特定的JPanel中绘制

更新 – 这与我昨天发布的以下链接有关。 https://stackoverflow.com/questions/15916360/swing-gui-application-in-java-with-multiple-frames 如果我在这里做错了,我很抱歉,我试着在我之前的post中写道,我找不到在评论框之外做的方法。 我对我的代码做了一些更改,现在我正在处理3个JPanel。 我为每个面板创建了一个类,除了另一个面板将保存在CardLayout中。 主面板是在我的主类和应用程序中同时创建的。 现在,当我按下按钮时,我试图在两个面板中的一个面板上绘制一张快乐的脸,但它不起作用。 import statements; public class JDataAnalyzerGui extends JFrame { private static final String INTRO = “welcome”; private static final String OPERATIONS = “operations”; private CardLayout cardlayout = new CardLayout(); private JPanel mainPanel = new JPanel(cardlayout); private WelcomePanel welcomePanel = new WelcomePanel(); private OperationPanel operationPanel = new OperationPanel(); […]

摆动布局 – 使用多个JEditorPanes滚动的中心面板

我无法让Swing布局做我想做的事。 我希望包含两个JEditorPanes的Center面板在包含相等(固定)高度的’n’窗格时滚动。 我一直在Netbean的UI设计师中玩,试图让它工作 jPanel3是中心面板 jEditorPane4和5是一些示例编辑器窗格(这些将保留注释) public class GBugForm1 extends javax.swing.JFrame { public static void main(String[] args) { GBugForm1 form; form = new GBugForm1(); form.setDefaultCloseOperation(javax.swing.JDialog.DISPOSE_ON_CLOSE); form.setSize(500,500); form.setVisible(true); } /** * Creates new form GBugForm */ public GBugForm1() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: […]

从JPanel(没有JFrame)创建BufferedImage时,我还可以使用布局管理器吗?

我试图从JPanel创建一个BufferedImage,而不使用JFrame。 昨天,我终于能够在这个社区的帮助下看到图像(见下文),但现在我遇到了一些布局问题。 BufferedImage上的所有组件都以0,0开始绘制,而不是遵循布局管理器。 有谁知道这个问题的解决方案? 昨天的问题: 我可以从JPanel创建BufferedImage而无需在JFrame中渲染吗? 在下面的代码中,两个标签将在图像的左上角相互覆盖。 import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; public class RenderTest { RenderTest() { JPanel panel = new JPanel(); panel.setBackground(Color.RED); panel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); Dimension dim = new Dimension(150,50); panel.setSize(dim); panel.setMinimumSize(dim); panel.setMaximumSize(dim); panel.setPreferredSize(dim); JLabel label = new JLabel(“hello”); JLabel label2 […]

每次单击JList重新绘制JPanel

每次我点击一个JList项目,我需要清除+刷新我当前的面板并加载另一个面板,通过方法’populateWithButtons()’返回。 temp是一个int变量,用于存储在JList中单击的内容。 我如何纠正以下问题? list_1.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent evt) { //refresh + populate JPanel Food food = new Food(); JPanel panel2 = new JPanel(); JPanel pane11 = new JPanel(); panel2.add(panel1); panel1.validate(); panel1.repaint(); panel1.setBounds(153, 74, 281, 269); panel1.add(food.populateWithButtons(temp)); contentPane.add(panel2); }

通过循环添加JPanel

让它工作! 感谢你们! 代码如下。 我使用了BoxLayout因为我认为将问题叠加在另一个上是理想的,但现在我遇到了布局问题……当我堆叠几个问题时,问题面板开始重叠。 有什么想法吗? panels1 = new MultipleChoice[5]; setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); for(int i=0; i<4; i++){ panels1[i]= new MultipleChoice(); panels1[i].setAlignmentX(CENTER_ALIGNMENT); add(panels1[i]); } setVisible(true); 我正在设计一个在线测试小程序。 测试有多种选择和真/假问题。 为了设置测试,我创建了两个JPanel类,一个用于多项选择题,一个用于真/假题。 因此,当创建测试时,我将根据非固定数量的问题动态地将这些面板添加到JPanel容器中。 首先,如何动态地将新面板添加到面板? 我想过声明一个JPanel类型的数组。 我使用for循环创建然后添加此面板类的对象: MultitipleChoicePanel[] PanelArray; for (…){ PanelArray[i] = new MultipleChoicePanel(); containerpanel.add(PanelArray[i]); } 我不知道这在技术上是否可行。 这是我第一次使用Swing,我试过这样做,但显然它不起作用。 有没有人知道如何正确动态添加这些面板? 其次,哪个布局管理器最适合容器面板,以便适合在前一个面板下添加的每个新面板? 我想过动态设置一列的GridLayout并在添加面板时添加行。 但我一直在努力动态修改波动。 有什么建议? 非常感谢你的帮助!