「java画方框」java方框绘制源码
本篇文章给大家谈谈java画方框,以及java方框绘制源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java如何在已经画了框的地方重新画框
是这样吗?不是的话问题重新表述下,呵呵。
其实主要就是使用repaint方法,他会重新执行paint方法,重新绘制一次
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test2 {
private JPanel panel;
private boolean isDrawRect = false;// 是否绘制红色矩形,默认不绘制
public Test2() {
JFrame frame = new JFrame("Test");
frame.setVisible(true);// 显示
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();// 屏幕大小
frame.setBounds((d.width - 800) / 2, (d.height - 600) / 2, 800, 600);// 大小,定位
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭方式
frame.setLayout(null);
JButton b1 = new JButton("绘制红色矩形");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
isDrawRect = true;
panel.repaint();
}
});
b1.setBounds(2, 2, 150, 30);
JButton b2 = new JButton("绘制黑色矩形");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
isDrawRect = false;
panel.repaint();
}
});
b2.setBounds(200, 2, 150, 30);
setPanel();
panel.setBounds(5, 50, 400, 450);
frame.add(b1);
frame.add(b2);
frame.add(panel);
frame.validate();
}
private void setPanel() {
panel = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
Graphics2D g2D = (Graphics2D)g;
if (isDrawRect) {
g2D.setColor(Color.RED);
} else {
g2D.setColor(Color.BLACK);
}
g2D.drawRect(100, 100, 200, 300);
g.dispose();
}
};
}
public static void main(String[] args) throws IOException {
new Test2();
}
}
JAVA 如何给组件绘制边框
调用组件的
setBorder(new LineBorder(Color color))
可以绘制组件的边框,边框为像素为1,颜色为color的直线
具体可以参考组件setBorder()方法和LineBorder边框类的API
还有其他的边框类
java实现鼠标拖拽画矩形框
JDK 版本=5.0 时,少年把@Override去掉吧
程序没有错误 ,我的机子能运行
怎么运用java swing画10*10的方格图
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Label;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Example9_4
{
public static void main ( String[] args )
{
new WinGrid ();
}
}
class WinGrid extends JFrame
{
private static final long serialVersionUID = 1L;
GridLayout grid;
JPanel chessboard;
WinGrid ()
{
chessboard = new JPanel ();
grid = new GridLayout (10, 10);
chessboard.setLayout (grid);
Label[][] label = new Label[10][10];
for ( int i = 0; i label.length; i++ )
{
for ( int j = 0; j label[i].length; j++ )
{
label[i][j] = new Label ();
if (( i + j ) % 2 == 0)
label[i][j].setBackground (Color.pink);
else
label[i][j].setBackground (Color.black);
chessboard.add (label[i][j]);
}
}
add (chessboard, BorderLayout.CENTER);
setBounds (10, 10, 570, 390);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setVisible (true);
}
}
在java里面怎么输出方格
这样,在pannel里,用一个一个lable标签来画,然后设置标签的颜色来区分开 8X8的样子。以下是源码:(可运行下,看效果)
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MyFrame extends JFrame {
private int FIELDSIZE = 40;
public MyFrame(){
setTitle("国际象棋方框示例");
setName("test");
setBounds(400, 200, 330, 350);
setResizable(false);
JPanel boardPane = new JPanel();
boardPane.setLayout(null);
add(boardPane);
JLabel[][] labs = new JLabel[8][8];
for(int x = 0; x 8; x++){
for(int y = 0; y 8; y++) {
JLabel backgroundLabel = new JLabel();
backgroundLabel.setOpaque(true);
backgroundLabel.setBounds(x*FIELDSIZE,y*FIELDSIZE,FIELDSIZE,FIELDSIZE);
boardPane.add(backgroundLabel,new Integer(1),0);
labs[x][y] = backgroundLabel;
}
}
setColor(labs);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private void setColor(JLabel[][] labs){
for(int x=0;x8;x++){
for(int y=0;y8;y++){
if(x==0){
if(y==0){
labs[x][y].setBackground(Color.BLACK);
}else{
if(labs[x][y-1].getBackground().equals(Color.BLACK)){
labs[x][y].setBackground(Color.GRAY);
}else{
labs[x][y].setBackground(Color.BLACK);
}
}
}else{
if(labs[x-1][y].getBackground().equals(Color.BLACK)){
labs[x][y].setBackground(Color.GRAY);
}else{
labs[x][y].setBackground(Color.BLACK);
}
}
}
}
}
public static void main(String[] args) {
new MyFrame();
}
}
java画方框的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java方框绘制源码、java画方框的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。