gpt4 book ai didi

Java 图形、图形面板和按钮面板

转载 作者:行者123 更新时间:2023-12-01 13:46:22 27 4
gpt4 key购买 nike

我正在尝试创建一个框架,该框架在同一框架的顶部有一个图形面板(通过布局),在其下方有一个按钮/标签面板。到目前为止,我似乎已经能够将它们放在同一个框架上,但与按钮/标签面板相比,图形面板非常小......我无法发布照片,但它几乎就像大小是(400,10 ) 用于图形面板,(400,290) 用于按钮/标签面板。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class DoNotEnterSign extends JPanel {

public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawOval(0,0,50,50);
}}




public static void main(String args[])
{
JFrame frame2 = new JFrame();
JPanel panel = new DoNotEnterSign();
panel.setBackground(Color.GRAY);
panel.setSize(100,100);
JPanel panel2 = new JPanel();
JButton test = new JButton("Testing");
panel2.add(test);
frame2.getContentPane().add(panel, BorderLayout.NORTH);
frame2.getContentPane().add(panel2, BorderLayout.SOUTH);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setSize(400,300);
frame2.setLocationRelativeTo(null);
frame2.setVisible(true);

最佳答案

只需重写 DoNotEnterSign 类的 getPreferedSize() 方法,而不是使用 setSize(100,100);。因为根据docs它仅在没有布局管理器的情况下工作:

Set the size of the component measured in pixels. The two int arguments specify width and height, in that order. Use these methods to size a component when you are not using a layout manager.

在您的 DoNotEnterSign 旁边添加:

@Override
public Dimension getPreferredSize() {
return new Dimension(100,100);
}

enter image description here

关于Java 图形、图形面板和按钮面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com