Только на чал изучать Swing. Написал простенький код, чтобы в окне рисовать двумерные фигуры (в моем случае это линия). Но не могу понять, почему она не строится. Подскажите, где ошибка?
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("figures");
frame.setSize(new Dimension(600,400));
frame.setLocationRelativeTo(null);
frame.setLayout(new GridBagLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GraphicsPanel graphicsPanel = new GraphicsPanel();
frame.add(graphicsPanel, new GridBagConstraints(0,0,1,1,1,1,
GridBagConstraints.NORTH, GridBagConstraints.BOTH,
new Insets(2,2,2,2),0,0));
frame.setVisible(true);
}
}
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
public class Line extends Line2D{
private Point p1;
private Point p2;
public Line()
{
p1 = new Point();
p2 = new Point();
}
public Line(double x1, double y1, double x2, double y2) {
p1 = new Point (x1, y1);
p2 = new Point (x2, y2);
}
@Override
public double getX1() {
return p1.getX();
}
@Override
public double getX2() {
return p2.getX();
}
@Override
public double getY1() {
return p1.getY();
}
@Override
public double getY2() {
return p2.getY();
}
@Override
public Point2D getP2() {
return p1;
}
@Override
public Point2D getP1() {
return p2;
}
@Override
public void setLine(double x1, double y1, double x2, double y2) {
p1.setLocation(x1,y1);
p2.setLocation(x2,y2);
}
@Override
public Rectangle2D getBounds2D() {
return null;
}
}
import javax.swing.*;
import java.awt.*;
public class GraphicsPanel extends JPanel{
private Line line;
public GraphicsPanel()
{
line = new Line(10,20,300,400);
}
@Override
public void paintComponents(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.draw(line);
}
}
вот результат работы программы так же еще есть класс определением точки, унаследованный от класса Point2D. Там переопределены все методы, думаю, что ошибок в нем нет.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пришло время дальше изучать програмированияЗнание в веб разработки у меня ограничеваются пхп и сопутствующие ему технологии не знаю что...
Есть массив показаний датчиков в оперативной памяти устройстваЕсть сервис в приложении, который обновляет эти данные и несколько Activity, которые...
У меня есть диалог сохранения файла, где нужно выбрать имя и путь для сохраненияОн сделан с помощью DialogFragment