Tag: jpanel

如何将JPanel绘制为Nimbus JButton?

在Nimbus的外观和感觉JButtons有一个非常整洁和准确的外观,圆形边框和漂亮的背景。 我想渲染具有相同外观的JPanel(显然它不会有按下状态等)。 我有什么选择?

How2:将JPanel添加到Document,然后导出为PDF

有关编程的任何论坛的第一篇文章…我通常只是搜索直到我找到答案…但这次我真的卡住了…… 这是问题…我有一个JPanel,最近发现itext为您提供了一种将Java GUI导出为PDF的方法… 我似乎无法理解itext的语言,也不知道如何将简单的JPanel添加到文档然后将该文档导出为PDF …这就是我目前所拥有的… import java.io.FileOutputStream; import com.itextpdf.text.*; import com.itextpdf.text.pdf.*; import java.awt.Color; import javax.swing.*; public class HelloWorld { public static void main(String[] args) { try { //Panel creation and setup JPanel panel = new JPanel(); //just to ensure that the panel has content… JLabel label = new JLabel(“i am a label”); panel.add(label); panel.setSize(100,100); //so […]

将JPanel定位在特定位置的JFrame中

我需要帮助将JPanel定位到特定位置到Jframe中。 我在一个扩展JFrame的类中有一个JPanel,我需要将这个JPanel放在特定的x,y位置。 它是这样的: public class Frame extends JFrame { public Frame(){ this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLocation(250, 250); this.setSize(300,300); this.setVisible(true); JPanel panel = new JPanel(); this.add(panel); panel.setLocation(150, 150); panel.add(new JButton(“Hello!”)); // just to show JPanel }//Frame() }//Frame 我不需要LayoutManager作为JPanel的位置,因为我需要将JPanel放在特定位置(如示例中的150,150)。 但是,如果我像上面的代码一样执行panel.setLocation(150,150),没有任何反应,JPanel仍然在框架的北中心(如果我更改x,y数字而不是150,150)。 它显示如下: http://sofzh.miximages.com/java/Te3z0kv.png

Java,BorderLayout.CENTER,获取JPanel的宽度和高度

我正在使用Swing和AWT(为听众)制作一个小程序。 我有一个问题,关于获取我的JPanel(名为Chess的类)的大小。 我的布局: public class Main extends JFrame implements MouseListener, ActionListener{ Chess chessPanel = new Chess (); JButton newGameButton = new JButton (“New Game”); JButton loadGameButton = new JButton (“Load Game”); JButton saveGameButton = new JButton (“Save Game”); JButton exitButton = new JButton (“Exit”); public static void main (String [] args) { new Main(); } […]

如何制作JPanel的背景渐变

我想知道如何制作另一个JPanel中的背景渐变。 在互联网上发现了许多文章,但是所有这些文章都说明了如何覆盖JPanel的paintComponent()而不是如何处理它内部的jPanel。 我使用Netbeans IDE。 我创建了一个新的JPanel类,可以覆盖它的paintComponent()。 我有另一个jpanel(拖放到父JPanel)。 我想制作它的背景渐变。 这是我为父母试过的方式。 有效。 如何为儿童jpanel覆盖这个? public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g; Color color1 = getBackground(); Color color2 = color1.darker(); int w = getWidth(); int h = getHeight(); GradientPaint gp = new GradientPaint( 0, 0, color1, 0, h, color2); g2d.setPaint(gp); g2d.fillRect(0, 0, w, h); }

Java Swing透明的JPanels问题

我有一个JLayeredPane,我添加3个JPanels。 我使JPanels透明(没有设置背景和setOpaque(false))。 我在JPanels上绘制线条,只有最后一个JPanel上的线条可见。 通过顶级JPanel看不到其他JPanel的行(即使我在添加它们时添加了不同的zIndex)。 有谁知道这方面的解决方案? 他们为什么不透明? 我创建了一个小测试程序(3个类)。 (TestJPanel和TestJPanel1绘制一条线,但在不同的位置,但我只看到最后添加的JPanel的行。我没有看到2行,因为它不透明:() Main.Java import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLayeredPane; public class Main extends JFrame { public Main() { setSize(400, 350); setDefaultCloseOperation(EXIT_ON_CLOSE); JLayeredPane lp = getLayeredPane(); lp.setLayout(new BorderLayout()); TestJPanel top = new TestJPanel(); top.setOpaque(false); TestJPanel middle = new TestJPanel(); middle.setOpaque(false); TestJPanel1 bottom = new TestJPanel1(); bottom.setOpaque(false); […]

JScrollPane不适用于我的JPanel

首先,我必须说我已经检查了这些问题,但没有找到我的答案: 1,2,3,4,5,6,7 还有很多其他问题 我也检查了这些教程和示例: 1,9,10,11 和许多其他网站。 但我无法解决我的问题。 这是我的代码的简单类型: public class Question extends JFrame { public Question() { Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); setLayout(new BorderLayout()); setSize(d.width, d.height); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(d.width, d.height)); panel.setBorder(BorderFactory.createLineBorder(Color.red)); panel.setLayout(new BoxLayout(panel, 1)); for (int i = 0; i < 100; i++) { panel.add(new JButton("kjdh")); } JScrollPane scrollPane = […]

在JPanel上使用它时,不会出现JScrollPane

我一直在努力寻找解决问题的方法,但我没有运气。 这是一个示例代码: import java.awt.BorderLayout; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; public class Example extends JFrame { private static final long serialVersionUID = 1L; public Example() { JPanel contentPane = (JPanel) getContentPane(); contentPane.setLayout(new BorderLayout()); JPanel panTop = new JPanel(new BorderLayout()); //JPanel panBottom = new JPanel(new BorderLayout()); JPanel panTopCenter = new […]

如何在Java swing中自动滚动到底部

我有一个带有JScrollPane的简单JPanel(根据需要有垂直滚动条)。 事情被添加到JPanel中(或从中移除)当它超出面板底部时,我希望JScrollPane根据需要自动向下滚动到底部,或者如果某些组件离开面板则向上滚动。 我该怎么做? 我猜我需要某种监听器,只要JPanel高度发生变化就会被调用? 或者有一些像JScrollPanel.setutoScroll(true)这样简单的东西?

在JScrollPane中获取显示的组件

我有一个包含JPanel的JScrollPane。 我用许多按钮填充这个JPanel。 是否有可能获得当前显示的按钮? 我知道我可以通过jpanel.getComponents()访问JPanel的jpanel.getComponents()但这些都是此窗格中的组件; 我只想要当前在屏幕上的那些。