首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java (Button+Graphics)

Java (Button+Graphics)
EN

Stack Overflow用户
提问于 2017-03-08 16:30:16
回答 2查看 34关注 0票数 0

我刚刚开始使用Java。我没有创建窗口,按钮和任何图形的问题。但是,我不能使窗口与许多按钮,图形和文本框。当我向我的窗口添加按钮时,我看不到图形。我该怎么做呢?

代码:

代码语言:javascript
复制
package today;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.*;
import java.awt.event.*;
import java.awt.Graphics;

public class mybuttonapp extends JFrame
{



    private mybuttonapp()
    {
     }



    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        //new mybuttonapp().setVisible(true);

        //--

        JFrame f=new JFrame("Button Example"); 
        f.setVisible(true);
        f.setSize(900, 600);
        //f.setLayout(null);  
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);

        JPanel p1 = new JPanel();
        p1.setBackground(Color.GREEN);
        p1.setPreferredSize(new Dimension (100,100));
        p1.setVisible(true);
        f.add(p1);


        My2d paint1 = new My2d();



        JButton b1=new JButton("Click Here");  
        b1.setBounds(10,10,100,50);


        p1.add(b1);  
        p1.add(paint1);  
        }

code 2:

package today;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.*;
import java.awt.event.*;

public class My2d extends JComponent

{
       public void paint (Graphics g)
        {

           Graphics2D g2 = (Graphics2D) g;

           Ellipse2D.Double circle = new Ellipse2D.Double(300,300,50,50);
            g2.fill(circle);

          }

}
EN

回答 2

Stack Overflow用户

发布于 2017-03-08 16:37:45

我认为您需要查看的是swing中的布局。如果我得到了你的要求和你正在做的事情,你就是在覆盖你首先设置的任何东西。

https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html此链接提供对所有swing布局的解释。

票数 0
EN

Stack Overflow用户

发布于 2017-03-08 16:39:02

您需要检查LayoutManagers在Java中是如何工作的。它们可以帮助您将元素放在容器中的正确位置(JFrame/JPanel)。https://docs.oracle.com/javase/tutorial/uiswing/layout/layoutlist.html

我通常使用BorderLayoutGridBagLayout的组合,因为它相当灵活--但许多用户觉得GridBagLayout太复杂了,特别是对于初学者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42666432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档