» »

[java] opcijsko okno

[java] opcijsko okno

Loaded ::

Lp

Zanima kako lahko naredim okno - npr. JOptionPane - v katerem bi izbiral med 3 ponujenimi možnostmi in izbral samo eno s pomočjo swing knjižnice. Lahko tudi z awt-jem samo tisto je zadnja možnost.

Lp
Loadeed

sverde21 ::

Google, prvi zadetek...

EDIT: to je za 2 možnosti... za 3 pa neb vedu, veretn boš mogu novo formo delat :\
<?php echo `w`; ?>

Zgodovina sprememb…

  • spremenil: sverde21 ()

infiniteLoop ::

Sicer nisem swing majster samo v API pise:

Show a dialog asking the user to select a String:
    Object[] possibleValues = { "First", "Second", "Third" };
    Object selectedValue = JOptionPane.showInputDialog(null,
                "Choose one", "Input",
                JOptionPane.INFORMATION_MESSAGE, null,
                possibleValues, possibleValues[0]);


Mislim, da bi to moralo zadostovati.
None of us is as dumb as all of us.

Loaded ::

Lp

Lepa hvalča..Še nekaj me zanima. Kaj pa okno, v katerega bi vnesel user več stringov naenkrat....se opravičujem za vprašanja, ampak nekak se še ne znajdem..

Lp
Loadeed

infiniteLoop ::

Skoraj vse kar zelis vedeti o dialogih je dostopno v java tutorialu, kjer je na voljo "sample" programcek in koda.

Happy programming.

EDIT: typo
None of us is as dumb as all of us.

Zgodovina sprememb…

Loaded ::

..imam še eno nadlogo...in sicer zajem teksta iz TextFielda. Probal sem z metodo getText(), ampak a ni to za zajem texta, ki je že prednastavljen gori, ko kreiraš objekt? Dal sem tudi v actionListener to metodo, ampak tudi ne dela...
Mi lahko kako pomaga kdo?

Lp
Loadeed

SkIDiver ::

Simpl primerček. Upam, da pomaga, če ne pa praši.

package chapter16b;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ZajemiBesedo extends JFrame implements ActionListener {

	private JLabel vhodniNapis = new JLabel("Vnesi besedilo:");
	private JLabel izhodniNapis = new JLabel("Zajeto besedilo:");
	
	private JTextField vhodnoPolje = new JTextField(10);
	private JTextField izhodnoPolje = new JTextField(10);
	
	private JButton kopirajGumb = new JButton("Kopiraj besedilo");
	private JButton pocistiGumb = new JButton("Počisti");
	
	Container con = this.getContentPane();
	
	public ZajemiBesedo() {
		
		super("Zajemi besedo");
		
		this.setSize(200, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		con.setLayout(new FlowLayout());
		con.add(vhodniNapis);
		con.add(vhodnoPolje);
		con.add(izhodniNapis);
		con.add(izhodnoPolje);
		con.add(kopirajGumb);
		con.add(pocistiGumb);
		
		kopirajGumb.addActionListener(this);
		pocistiGumb.addActionListener(this);
		izhodnoPolje.setEditable(false);
		
		this.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e) {
		
		String temp;
		
		Object source = e.getSource();
		
		if(source == kopirajGumb) {
			
			temp = vhodnoPolje.getText();
			izhodnoPolje.setText(temp);
		}
		
		else if(source == pocistiGumb) {
			
			vhodnoPolje.setText("");
			izhodnoPolje.setText("");
		}
	}
	
	public static void main(String[] args) {
		
		ZajemiBesedo zajemiBesedo = new ZajemiBesedo();
	}
}

Loaded ::

Lp

Naletel sem na problem (vsaj zame). Kako naj dobim index elementa, ki je v Listu ali pa kako naj dobim index elementa, ki je v polju?

EDIT: aja še nekaj je. Kako lahko castam int v String? Poskusil sem z ToString() metodo, ampak mi javlja napako "int cannot be dereferenced".
Lp
Loadeed

Zgodovina sprememb…

  • spremenil: Loaded ()

Bojevnik ::

int najlažje castaš tako da daš, int+"";

Za list ne vem, za polje pa mislim da predpriravljene metoda, ki bi ti vrnila element. Tako da je najbolje da jo kar sam napišeš;)

Zgodovina sprememb…

  • spremenilo: Bojevnik ()

SkIDiver ::

int najlažje castaš tako da daš, int+"";

Tega pa nisem vedel. Hvala:)

Loaded toString namesto ToString. Lahko castaš
String s = Integer.toString(1234);
ali pa
String s = String.valueOf(1234);

infiniteLoop ::

Ce hoces int predstaviti kot String in dejansko noces lepiti stringov skupaj vsekakor uporabi metodo razeda Integer (toString(int)) ali String (valueOf(int)), kot je to predlagal SklDiver, ker s tem jasno poves kaj delas in je program bolj pregleden in jasen.

Ce bi rad vedel na katerem mestu je shranjen nek objekt v Listu vsekakor uporabi metodo z imenom indexOf.
Primer:
int i = instancaLista.indexOf(objekt);


Ce te zanima na katerem mestu je element v polju (arrayu) pa moras array dejansko preiskati in si zapomniti index. Ker pa so to (in se marsikater drugo) delo za tebe ze postorili fantje in dekleta iz projekta jakarta commons lahko uporbis njihovo lang knjiznico in na raredu ArrayUtils klices metodo (glej ga zlomka) indexOf
Primer:
int i = ArrayUtils.indexOf(instancaPolja, iskaniElement);


Ce se ukvarjas s polji in "collectioni" ti vsekakor predlagam da prevohas vsaj razreda Arrays in Collections. Vsekakor pa ne bo skodilo ce preveris tudi kaj nudijo jakarta commons knjiznice (v tvojem primeru priporocam razreda ArrayUtils in CollectionUtils). Ker se nima smisla matrati z trivialnimi zadevami, ki so jih ze implementirali drugi. Razen, ce te posebaj zanima kako se te zadeve naredi - v tem primeru pa ti tudi priporocam da prebrskas commons knjiznico le da si v tem primeru poglej kodo, ki je tudi na voljo.
None of us is as dumb as all of us.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[java] Osnovna vprašanja

Oddelek: Programiranje
372636 (1643) killa bee
»

[Java] Ne zažene appleta

Oddelek: Programiranje
51213 (1146) iggy
»

[java] vstavljanje slike v JFrame

Oddelek: Programiranje
71316 (1212) KaRkY
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242413 (2048) Bela01
»

Java,actionlistener problem

Oddelek: Programiranje
51138 (1124) JaaZoo

Več podobnih tem