Hallo zusammen,
schaut euch folgenden Quellcode an:
ich sitze jetzt schon ziemlich lange an dem Versuch, die zwei roten Linien so zu programmieren, dass sie sich proportional zur Größe des gesamten internalframes verhalten. D.h. wenn ich das internalframe größer oder kleiner mache, sollen die roten Linien sich im geichen Verhältnis mitbewegen. In das internalframe soll nachher ein Bild geladen werden. Die zwei roten Linien dienen dabei als Fadenkreuz. Jedes Mal wenn ich das internalframe vergrößere oder verkleinere, stimmt die Position des Fadenkreuzes nicht mehr. Ich weiß einfach nicht, wie ich das ganze bauen soll. Hat jemand eine Idee?
MFG Saladin
P.S.: :lol: <-- cooler Smiley oder?
schaut euch folgenden Quellcode an:
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
public class Drawing extends JComponent {
public void paintComponent(Graphics g) {
super.paintComponent(g);
super.setPreferredSize(new Dimension(300, 300));
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.red);
g2d.drawImage(null, 0, 0, getWidth(), getHeight(), null);
g2d.drawLine(50, 0, 50, getHeight() - 1);
g2d.drawLine(getWidth(), 174 - 50, 0, 174 - 50);
setPreferredSize(new Dimension(100, 100));
repaint();
}
}
Java:
import java.awt.Button;
import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
public class FensterFuerBilddaten extends JInternalFrame {
private JSlider horizontal = new JSlider(JSlider.HORIZONTAL);
private JSlider vertikal = new JSlider(JSlider.VERTICAL);
private Button btClose;
public FensterFuerBilddaten() {
super("Fenster", true, true, true, true);
setSize(300, 300);
setLocation(100, 100);
JScrollPane scrollpane = new JScrollPane(new Drawing());
scrollpane.setRowHeaderView(vertikal);
scrollpane.setColumnHeaderView(horizontal);
setContentPane(scrollpane);
setVisible(true);
}
}
Java:
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
public class MainFrame extends JFrame {
public MainFrame()
{
super("hauptfenster");
setContentPane(new JDesktopPane());
setSize(500,500);
add(new FensterFuerBilddaten());
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new MainFrame();
}
}
ich sitze jetzt schon ziemlich lange an dem Versuch, die zwei roten Linien so zu programmieren, dass sie sich proportional zur Größe des gesamten internalframes verhalten. D.h. wenn ich das internalframe größer oder kleiner mache, sollen die roten Linien sich im geichen Verhältnis mitbewegen. In das internalframe soll nachher ein Bild geladen werden. Die zwei roten Linien dienen dabei als Fadenkreuz. Jedes Mal wenn ich das internalframe vergrößere oder verkleinere, stimmt die Position des Fadenkreuzes nicht mehr. Ich weiß einfach nicht, wie ich das ganze bauen soll. Hat jemand eine Idee?
MFG Saladin
P.S.: :lol: <-- cooler Smiley oder?