Что-то я не так делаю... Насоздавал классов в одном определил методы get/set. А из другого класса пытаюсь вызвать эти методы, но не работает. Прога ошибку не выдает, а просто зацикливается. Объясните пож. что не так. Проблема в классе GraphPan в методе drawString(getXmax()). Ткните мордой пож. хочу разобраться. Спасибо!: | Код | import javax.swing.*;
public class QuantumGr{ public static void main(String[] args){ JFrame mainWin = new MainWindow(); mainWin.setVisible(true); } } ------------------------------------------ import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class MainWindow extends JFrame{
private BtnPan btnPan; private GraphPan graphPan; private Container cont; MainWindow(){ super("MainWin"); cont = getContentPane(); cont.setLayout(new BorderLayout()); graphPan = new GraphPan(); graphPan.setBackground(Color.black); cont.add(graphPan, BorderLayout.CENTER); btnPan = new BtnPan(); cont.add(btnPan, BorderLayout.SOUTH); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(650, 400); } } --------------------------------------------------------------- import javax.swing.*; import java.awt.*;
public class GraphPan extends JPanel{
BtnPan btnPan; private int Xworld(double x){ return (int)Math.round(getWidth() * (x/10)); } private int Yworld(double y){ return (int)Math.round(getHeight() * (1-(y/10))); }
public void paintComponent(Graphics g){ super.paintComponent(g); g.setColor(Color.yellow); drawAxes(g); } void drawAxes(Graphics g){ g.drawString("test", btnPan.getXmax(),20); g.drawLine(Xworld(1),Yworld(0),Xworld(1),Yworld(10)); g.drawLine(Xworld(0),Yworld(1),Xworld(10),Yworld(1)); } } ------------------------------------------------------------------------- import javax.swing.*; import java.awt.*;
public class BtnPan extends JPanel{
private double yMax; private double xMax;
private JTextField tfY; private JTextField tfX; private JTextField tfVecY; private JTextField tfVecX; private JButton btnBuild; public BtnPan(){ yMax=10; xMax=10; setLayout(new FlowLayout()); add(new JLabel("YMax(Вт)")); tfY = new JTextField(Integer.toString((int)yMax)); add(tfY); add(new JLabel("XMax(В)")); tfX = new JTextField(Integer.toString((int)xMax)); add(tfX); add(new JLabel("Вектор Y")); tfVecY = new JTextField("2,4,6", 10); add(tfVecY); add(new JLabel("Вектор X")); tfVecX = new JTextField("2,4,6", 10); add(tfVecX); btnBuild = new JButton("Построить"); add(btnBuild); } public double getYmax(){return yMax;} public void setYmax(double yMax){this.yMax=yMax;} public double getXmax(){return (int)xMax;} public void setXmax(double xMax){this.xMax=xMax;} }
|
Это сообщение отредактировал(а) sidiakin - 28.7.2011, 08:16
|