oya Skrevet 11. april 2007 Del Skrevet 11. april 2007 (endret) Hei! Holder på med en obligatorisk oppgave ved uio. Skal lage en sudokuløser med gui. Når hele brettet er ferdigløst, vises det ikke før man trykker på et menyvalg for å vise hele brettet. Man kan også trykke på vis bestemt rute, da hentes tallet inn fra løsningen, og vises i den ruten brukeren oppgir. Problemet er hvordan brukeren skal si fra hvilken rute som skal få opp tallet. En kompis av meg hadde samme oppgave i fjor. Han gjorde det sånn at brukeren skriver x i alle rutene der han vil få opp verdi. Personlig synes jeg dette ble en litt dårlig løsning på problemet. Men jeg sliter litt med å finne på noe bedre. Trenger altså noen tips Hver rute er en JTextField: JTextField txtRute[][];. Endret 11. april 2007 av oya Lenke til kommentar
DemoniZer Skrevet 11. april 2007 Del Skrevet 11. april 2007 (endret) Hva med å bruke f.eks space? Eller ha en egen knapp til dette? Endret 11. april 2007 av DemoniZer Lenke til kommentar
oya Skrevet 11. april 2007 Forfatter Del Skrevet 11. april 2007 Hva med å bruke f.eks space? Eller ha en egen knapp til dette? 8358195[/snapback] Har en knapp i menyen. Det som er problemet er hvordan brukeren skal velge hvilken rute det skal gjelde når denne knappen trykkes. Lenke til kommentar
krigun Skrevet 11. april 2007 Del Skrevet 11. april 2007 (endret) Det som er problemet er hvordan brukeren skal velge hvilken rute det skal gjelde når denne knappen trykkes. 8358553[/snapback] Dette burde gi deg noen hints, ved bruk av MouseListener som blir tilegnet hver JTextField. @SuppressWarnings("serial") public class ActionTest extends JFrame { public ActionTest() { super("Suduko"); JTextField t; for(int i = 0; i < 3; i++) { t = new JTextField(); t.addMouseListener(new SudukoInput(i)); this.getContentPane().add(t, (i == 0 ? BorderLayout.NORTH : (i == 1 ? BorderLayout.CENTER : BorderLayout.SOUTH))); } this.setSize(100, 90); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } class SudukoInput implements MouseListener { private int sudukoRute; public SudukoInput(int sudukoRute) { this.sudukoRute = sudukoRute; } public void mouseClicked(MouseEvent arg0) { System.out.println("Suduko rute " + sudukoRute + " ble klikket på."); } public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} } public static void main(String[]args) { new ActionTest(); } } PS: i mouseClicked metoden kan du evt. sjekke for høyreklikk for eksempel (MouseEvent). Altså, hvis brukeren ønsker å vite svar i en rute, så høyreklikker man i den ruta. Endret 11. april 2007 av krigun Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå