Swing JScroolBar richtig benutzen

TheSorm

Bekanntes Mitglied
Ich habe einen kleinen Lvl editor Programiert, da das Lvl aber sehr breit ist muss man es eig mit scrool bar verschieben können um das ganze lvl bearbeiten zu können. Ich würde gerne wissen wie ich das am besten amche, alles was bis jetzt mit der JScroolBar und dem AdjustmentListener gemacht wurde kann, ist es warscheinlich auch, falsch sein! Nach fehlenden infos bitte Fragen :)

Java:
package main;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollBar;

import java.awt.Graphics;
import java.awt.Scrollbar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Frame extends JFrame {
	
	background bg;
	paint screen;
	JMenuBar bar;
	JMenu file;
	JMenuItem item;
	JMenuItem save; 
	JScrollBar jScrollBar1;
	JComboBox<String> skin;
	String[] blockString = {"Boden", "Pipe", "Sky", "Player"};
	String name;
	
	private FileWriter writer;
	
	private int skinSelection;
	private int x;
	private int y;
	
	File doco;
	ArrayList<Character> mapLetters;
	ArrayList<background> bgArray;
	ArrayList<background> bgFinish;

	
	public Frame(background bg) {
		super("LvlEditor");
		this.bg = bg;
		
		x = 0;
		y = 0;
		
		bgFinish = new ArrayList<background>();
		mapLetters = new ArrayList<Character>();
		bgArray = new ArrayList<background>();
		
		screen = new paint();
		
		for(int ii = 0; ii < bg.getBoxLength(); ii++){
			char nicht = 'S' ;
			mapLetters.add(nicht);
		}
		for(int i = 0; i < bg.getBoxLength();i++){
			if(x >= 12800){
				y += 64;
				x = 0;
			}
			this.bg = new background(x, y, 0);
			bgArray.add(this.bg);
			x += 64;
			System.out.println("y="+y/64+", x="+x/64);
		}
		
		skin = new JComboBox<String>(blockString);
		bar = new JMenuBar();
		file = new  JMenu("File");
		item = new JMenuItem("New");
		save = new JMenuItem("Save");
		jScrollBar1 = new JScrollBar();
		
		screen.setBounds(512, 64, 1024, 768);
		skin.setBounds(10, 50, 120, 50);
		jScrollBar1.setBounds(0, 750, 1024, 17);
	    jScrollBar1.setOrientation(Scrollbar.HORIZONTAL);
		
		screen.addMouseListener(new mouseListener());
		skin.addItemListener(new itemListener());
		item.addActionListener(new actionListener());
		save.addActionListener(new actionListener());
	    jScrollBar1.addAdjustmentListener(new adjustmentListener());
		
		bar.add(file);
		file.add(item);
		file.add(save);
		setJMenuBar(bar);
		add(skin);
		add(screen);
		screen.add(jScrollBar1);
		
	}
	


	private class actionListener implements ActionListener {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			if(e.getSource() == item){
			name = JOptionPane.showInputDialog(getParent(), "Name der File", "File", JOptionPane.OK_OPTION);
			doco = new File(name+".txt");
			try {
				doco.createNewFile();
				writer = new FileWriter(name+ ".txt");
			}catch (IOException e1) {e1.printStackTrace();}
		}
		if(e.getSource() == save ){
			for(int i = 0; i < bg.getBoxLength(); i++){
				try {
					writer.write(mapLetters.get(i));
					writer.flush();
				} catch (IOException e1) {e1.printStackTrace();}
			}
			try {
				writer.close();
			} catch (IOException e1) {e1.printStackTrace();}
		}
	}
}
	
	private class adjustmentListener implements AdjustmentListener {
		
		@Override
		public void adjustmentPerformed(AdjustmentEvent e) {
			if(e.getValue()==10){
				System.out.println("gut");
			}
		
	}

}
	
	private class itemListener implements ItemListener {
		
		@Override
		public void itemStateChanged(ItemEvent e) {
			if(e.getStateChange() == e.SELECTED){
				if(e.getSource() == skin) {
							skinSelection = skin.getSelectedIndex();
				}
			}
		}
	}
	
	private class mouseListener implements MouseListener{
		@Override
		public void mouseClicked(MouseEvent e) {
			for(int i = 0; i < bgArray.size();i++) {
				if(e.getX() >= bgArray.get(i).getBounding().x && e.getX() <= bgArray.get(i).getBounding().x+64 && e.getY() >= bgArray.get(i).getBounding().y && e.getY() <= bgArray.get(i).getBounding().y+64){
					bg = new background(bgArray.get(i).getBounding().x, bgArray.get(i).getBounding().y, skinSelection);
					bgFinish.add(bg);
					if(skinSelection == 0){
						mapLetters.remove(i);
						mapLetters.add(i,'G');
					}
					else if(skinSelection == 1){
						mapLetters.remove(i);
						mapLetters.add(i,'P');
					}
					else if(skinSelection == 2){
						mapLetters.remove(i);
						mapLetters.add(i,'S');
					}
					else if(skinSelection == 3){
						mapLetters.remove(i);
						mapLetters.add(i,'$');
					}
					System.out.println(i);
			}
		}
	}
	
	
	@Override
	public void mouseEntered(MouseEvent e){}
	
	@Override
	public void mouseExited(MouseEvent e){}
	
	@Override
	public void mousePressed(MouseEvent e){}
		
	@Override
	public void mouseReleased(MouseEvent e){}
	
	}
	
	private class paint extends JLabel{
		protected void paintComponent(Graphics g){
		for(int i = 0; i < bgArray.size();i++) {
			g.drawRect(bgArray.get(i).getBounding().x, bgArray.get(i).getBounding().y, bgArray.get(i).getBounding().width, bgArray.get(i).getBounding().height);
			}
		for(int ii = 0; ii < bgFinish.size();ii++){
			g.drawImage(bgFinish.get(ii).getImage(), bgFinish.get(ii).getBounding().x,bgFinish.get(ii).getBounding().y, null );
		}
		}
		}
public void repaintScreen() {
	screen.repaint();
}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
MouseEvent richtig initialisieren AWT, Swing, JavaFX & SWT 1
T ScrollEvent richtig(er) abfangen? AWT, Swing, JavaFX & SWT 0
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
M JavaFX kann man da noch was am code vereinfachen design technisch sieht nicht richtig aus... AWT, Swing, JavaFX & SWT 15
S Swing Coding richtig einfügen AWT, Swing, JavaFX & SWT 3
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
J Parallele Aktionen in Java FX richtig durchführen. AWT, Swing, JavaFX & SWT 5
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
Joker4632 JavaFX GridPane richtig implementieren AWT, Swing, JavaFX & SWT 7
K Swing GUI aktualisiert nicht richtig AWT, Swing, JavaFX & SWT 5
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
A Swing Zeichnung wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 4
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5
C Swing GUI extrem langsam - GUI-Code richtig ausführen AWT, Swing, JavaFX & SWT 1
M JavaFX TextArea richtig formatieren AWT, Swing, JavaFX & SWT 4
A SWT Wie legt man ein UI vom Programmcode her richtig an? AWT, Swing, JavaFX & SWT 3
C KeyPressed funktioniert auf iOS nicht richtig? AWT, Swing, JavaFX & SWT 4
M "ImageIO.read()" liest Bild nicht richtig ein AWT, Swing, JavaFX & SWT 3
A Swing Frames richtig erstellen AWT, Swing, JavaFX & SWT 3
W SWT Dialog richtig schließen? AWT, Swing, JavaFX & SWT 0
F AWT Grafik wird nicht richtig aktualisiert AWT, Swing, JavaFX & SWT 2
B mouseOnEntered ( Controller richtig implementieren) AWT, Swing, JavaFX & SWT 4
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
K Initialisierung von Oberfläche Richtig? AWT, Swing, JavaFX & SWT 5
D Panel in Panel zentriert nicht richtig AWT, Swing, JavaFX & SWT 3
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
D Swing fullscreen switch geht nicht richtig AWT, Swing, JavaFX & SWT 8
F Swing Wie verwalte ich meine Panels richtig? AWT, Swing, JavaFX & SWT 2
X LayoutManager gridBagLayout wird nicht richtig Dargestellt AWT, Swing, JavaFX & SWT 5
M KeyListener richtig implementieren AWT, Swing, JavaFX & SWT 3
M BorderLayout JPanel liegt nicht richtig an AWT, Swing, JavaFX & SWT 12
J Swing Window-Builder-Projekt richtig übertragen AWT, Swing, JavaFX & SWT 2
M AWT Java-Taschenrechner, wie Stack richtig verwenden? AWT, Swing, JavaFX & SWT 14
B Navigation funkt nicht richtig AWT, Swing, JavaFX & SWT 3
propra Doppelklick von Einzelklick unterscheiden, aber richtig ... AWT, Swing, JavaFX & SWT 10
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
T SWINGX richtig nutzen AWT, Swing, JavaFX & SWT 7
1 CellEditor mit ComboBox richtig beenden AWT, Swing, JavaFX & SWT 4
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
S Swing Spiel Richtig/Falsch implementieren AWT, Swing, JavaFX & SWT 5
J repaint() nicht richtig? AWT, Swing, JavaFX & SWT 6
J Swing Wie Fokus richtig setzen? AWT, Swing, JavaFX & SWT 7
S Swing JTree Node Text nicht richtig angezeigt AWT, Swing, JavaFX & SWT 2
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
N Textfelder werden nicht richtig angezeigt AWT, Swing, JavaFX & SWT 2
A Welcher Layout Manager ist hier richtig? AWT, Swing, JavaFX & SWT 3
A Komponente zur Laufzeit hinzufügen und RICHTIG anzeigen AWT, Swing, JavaFX & SWT 3
Semox Swing Klausur: Swing Fenster nicht richtig dimensioniert AWT, Swing, JavaFX & SWT 2
T JTable mit Renderer sortiert die gerenderte Spalte nicht richtig AWT, Swing, JavaFX & SWT 2
I Wie schließ ich ein Fenster RICHTIG! ? AWT, Swing, JavaFX & SWT 19
-MacNuke- Swing JTextField Eventverarbeitung so richtig? AWT, Swing, JavaFX & SWT 4
S AWT Schiffeversenken-Koordinatensystem wird nicht richtig angezeigt. AWT, Swing, JavaFX & SWT 6
K Eclipse Visual Editor rendert die Komponenten nicht richtig AWT, Swing, JavaFX & SWT 2
A Paint funktioniert nicht richtig AWT, Swing, JavaFX & SWT 7
S Jar-Datei funktioniert nicht richtig AWT, Swing, JavaFX & SWT 3
C ScrollPaneView richtig setzen AWT, Swing, JavaFX & SWT 2
R MVC: System.out.prinln in View umleiten geht nicht richtig AWT, Swing, JavaFX & SWT 7
H JFileChooser richtig verwenden AWT, Swing, JavaFX & SWT 3
M Buttonicon läds nicht richtig? AWT, Swing, JavaFX & SWT 4
R GUI wird nicht richtig aktualisiert AWT, Swing, JavaFX & SWT 5
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3
Luma Wie Stringparameter von AWTEvent richtig annalysieren AWT, Swing, JavaFX & SWT 4
K Layout - Components richtig setzen AWT, Swing, JavaFX & SWT 9
G Composite - Rand wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 3
G flow layout zeigt die komponenten nicht richtig an AWT, Swing, JavaFX & SWT 5
G ActionEvent richtig anbringen AWT, Swing, JavaFX & SWT 7
M Mehrere Frames - hab ich das richtig verstanden AWT, Swing, JavaFX & SWT 4
D jTable ausdrucken => € zeichen wird nicht richtig angezei AWT, Swing, JavaFX & SWT 7
S JDesktopPane wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 3
L Wie benutze ich einen robot richtig für screencapture AWT, Swing, JavaFX & SWT 5
G JEditorPane | Homepage wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 8
O Graphics erstellt Componente scheinbar nicht richtig AWT, Swing, JavaFX & SWT 23
L Panel wird nicht richtig neu gezeichnet AWT, Swing, JavaFX & SWT 8
F JScrollPane und JList funktioniert net richtig ? AWT, Swing, JavaFX & SWT 4
G JCombobox - Element richtig anzeigen AWT, Swing, JavaFX & SWT 5
J Jar Datei geht nicht richtig AWT, Swing, JavaFX & SWT 7
K Grafiken werden nicht richtig angezeigt. AWT, Swing, JavaFX & SWT 2
m@nu convertPoint richtig verwenden? AWT, Swing, JavaFX & SWT 2
J Panel richtig ausfüllen? AWT, Swing, JavaFX & SWT 2
TRunKX JTextField will sich nicht richtig ausrichten. AWT, Swing, JavaFX & SWT 2
H GridBagLayout richtig einstellen AWT, Swing, JavaFX & SWT 11
R JTable sortiert nicht richtig AWT, Swing, JavaFX & SWT 6
G Mein JFrame aktualisiert sich nicht richtig AWT, Swing, JavaFX & SWT 3
B Scrollable - Wie benutzt man das Interface richtig? AWT, Swing, JavaFX & SWT 5
I Hilfe - Das Frame wird überhaupt nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 3
G von JButtons erben, aber richtig! AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben