0
Я просмотрел столько потоков, и никто не помог мне. Вот мой код:Как я могу сделать эту обычную работу JButton?
package myProjects;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.*;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class LukeButton extends JButton{
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setTitle("Luke");
frame.setSize(300, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
LukeButton lb = new LukeButton("Text");
lb.addActionListener(e->{
System.out.println("Clicked");
});
frame.setVisible(true);
}
public LukeButton(String text){
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
Shape rec = new Rectangle2D.Float(10, 10, 60, 80);
g2.setColor(Color.BLACK);
g2.setStroke(new BasicStroke(2));
g2.draw(rec);
g2.setColor(Color.BLUE);
g2.fill(rec);
}
}
И прямоугольник, который должен быть там, нет. Я не знаю, разрешено ли это при расширении JButton, но если это не так, я не знаю, как это исправить. у кого-нибудь есть решение?
Спасибо, сейчас работает, я не могу поверить, что прошло мимо меня! И для параметра в конструкторе я собирался использовать это для текста на кнопке, но просто еще не сделал этого :) Спасибо еще раз. –
Я прочитал ваше редактирование, и моя цель состоит в том, чтобы иметь кнопку (тот, который у меня сейчас просто прекрасен), который я могу использовать вместо Скучного JButton. Но я действительно не знаю, как решить эту проблему. –