用Java创建面板?

用Java创建面板?,第1张

import java.awt.BorderLayout

import java.awt.Colorimport javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanelpublic class MyExam13 {

public static void main(String[] args) {

JFrame jf = new JFrame()//创建面板

JPanel jp = new JPanel()//创建容器

jf.add(jp).setBackground(Color.CYAN)

jp.setLayout(new BorderLayout())

jp.add(new JButton("Test"),BorderLayout.NORTH)

jp.setBackground(Color.YELLOW)

jf.setVisible(true)

jf.pack()

}

}

import java.awt.Color

import java.awt.Component

import java.awt.GridLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

public class ColorFrame extends JFrame {

private JPanel panel1, panel2

public ColorFrame() {

setLayout(new GridLayout(-1, 1))

panel1 = new JPanel()

panel2 = new JPanel()

getContentPane().add(panel1)

getContentPane().add(panel2)

panel1.setBackground(Color.red)

JButton btn1 = new JButton("White")

JButton btn2 = new JButton("Black")

panel1.add(btn1)

panel1.add(btn2)

new ToogleGroup(panel1, btn1, Color.white, btn2, Color.black)

JButton btn3 = new JButton("Red")

JButton btn4 = new JButton("Green")

panel2.add(btn3)

panel2.add(btn4)

new ToogleGroup(panel2, btn3, Color.red, btn4, Color.green)

}

private static class ToogleGroup implements ActionListener {

private JButton btn1

private JButton btn2

private Color color1

private Color color2

private Component target

public ToogleGroup(Component target, JButton btn1, Color color1,

JButton btn2, Color color2) {

this.btn1 = btn1

this.btn2 = btn2

btn1.addActionListener(this)

btn2.addActionListener(this)

this.target = target

this.color1 = color1

this.color2 = color2

toggleButton(btn1)

}

private void toggleButton(Object src){

if (src == btn1) {

btn1.setVisible(false)

btn2.setVisible(true)

target.setBackground(color1)

} else {

btn1.setVisible(true)

btn2.setVisible(false)

target.setBackground(color2)

}

}

@Override

public void actionPerformed(ActionEvent e) {

Object src = e.getSource()

toggleButton(src)

}

}

public static void main(String[] args) {

ColorFrame colorFrame = new ColorFrame()

colorFrame.setSize(300, 300)

colorFrame.setLocationRelativeTo(null)

colorFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

colorFrame.setVisible(true)

}

}

解决方案1:

你的逻辑错误,应该是在ScrollPane中添加JPanel。

ScrollPane sp = new ScrollPane (new JPanel())

this.add (sp)

解决方案2:

ScrollPane sp = new ScrollPane()

sp.add (new JPanel())

this.add (sp)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11460372.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存