Anonymní profil Bumblebee – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Bumblebee – Programujte.comAnonymní profil Bumblebee – Programujte.com

 

Příspěvky odeslané z IP adresy 93.91.49.–

Java › Návrh na Android Layout
1. 5. 2014   #189733

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="TextView" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/button1" >

    </ListView>

</RelativeLayout>

Java › cmd-javac NazdarSvete.java
6. 4. 2014   #188990

Nejjednodušší by bylo asi si nainstalovat nějaké IDE Netbeans, nebo Eclipse. Potom odpadá problém s kompilací. Programy jednoduše přeložíš a spustíš jednou klávesou...

Java › cmd-javac NazdarSvete.java
4. 4. 2014   #188943

https://www.youtube.com/watch?v=XJy0iJaABuo
Prostě a jednoduše ;)

Java › Serve Socket
6. 8. 2013   #180011

   

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.Channel;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.Set;

public class ChatServer {
    
    private ServerSocketChannel serverSocketChannel;
    private ByteBuffer buffer = ByteBuffer.allocateDirect(1024);
    private Selector selector;
    private Set<SelectionKey> keys;
    private static final int PORT = 9939;
    
    protected void start() {
        try {
            serverSocketChannel = ServerSocketChannel.open();
            serverSocketChannel.configureBlocking(false);
            serverSocketChannel.socket().bind(new InetSocketAddress(PORT));
            selector = Selector.open();
            serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);
            
            while(serverSocketChannel.isOpen()) {
                selector.select();
                keys = selector.selectedKeys();
                Iterator<SelectionKey> i = keys.iterator();
                while(i.hasNext()) {
                    SelectionKey key = i.next();
                    i.remove();
                    Channel chan = key.channel();
                    if(chan == serverSocketChannel) {
                        SocketChannel client = serverSocketChannel.accept();
                        if(client != null) {
                            client.configureBlocking(false);
                            client.register(selector, SelectionKey.OP_READ);
                        }
                    }else {
                        SocketChannel client = (SocketChannel) chan;
                        int read = 0;
                        while(read >= 0) {
                            buffer.rewind();
                            read = client.read(buffer);
                            buffer.rewind();
                            for(int j = 0; j < read; j++) {
                                System.out.print((char)buffer.get(j));
                            }
                        }
                    }
                }
            }
        }catch (IOException ex) {
            System.out.println(ex);
        }
    }
    
    public static void main(String[] args) {
        new ChatServer().start();
    }
}


Sice pozdě, ale kdyby někdo chtěl zdroják...

Java › Serve Socket
26. 7. 2013   #179642

Vyřešeno pomocí ServerSocketChannel a nastavení jako neblokující socket. Dík za rady   

Java › Serve Socket
24. 7. 2013   #179524

#2 liborb

Co vím tak blokující je "serverSocket.accept();" a tím bych řekl že to není, protože pokaždé když připojím dalšího klienta server okamžitě reaguje výpisem.

Java › Serve Socket
23. 7. 2013   #179469

Ahoj, v jave se snažím o úplně jednoduchou komunikaci klient server pomocí socketů. Server spustím, spustím klienta, server vypíše že se klient připojil, pošlu zprávu, server jí vypíše. Můj problém nastává, když se klientů připojí víc. Klient který je první v ArrayListu muže psát kolik chce a server to vypisuje, ale pokud něco napíše klient spustěný jako druhý jeho text se vypíše až po odeslání zprávy od klienta číslo jedna. Pokud se připojí klienti tři je v tom chaos ještě větší. Mě už nic nenapadá tak bych byl vděčný za každé nakopnutí správným směrem. Předem dík.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;

public class Server2 {
    
    private ServerSocket serverSocket;
    private ArrayList<BufferedReader> listOfBuffer = new ArrayList<>();
    private static int port = 9939;
    
    public Server2() {
        try {
            serverSocket = new ServerSocket(port);
            listen();
        }catch(IOException ex) {
            System.out.println(ex);
        }
    }
    
    private void clientListen() {
        try {
            Socket clientSocket = serverSocket.accept();
            listOfBuffer.add(new BufferedReader(new InputStreamReader
                    (clientSocket.getInputStream())));
            System.out.println("client: " 
                    + clientSocket.getInetAddress().getHostAddress()
                    + " has been connection");
        }catch(IOException ex) {
            System.out.println(ex);
        }
    }
    
    private synchronized void dataRead() {
        for(int i = 0; i<listOfBuffer.size(); i++) {
            try {
                BufferedReader br = listOfBuffer.get(i);
                String data = br.readLine();
                if(data == null) {               
                    listOfBuffer.remove(i);
                }else {
                    System.out.println(data);
                }
            }catch(IOException ex) {
                System.out.println(ex);
            }
        }
    }
    
    private void listen() {
        Thread vlakno1 = new Thread(new Runnable() {

            @Override
            public void run() {
                while(true) {
                    clientListen();
                }
            }
        });
        vlakno1.start();
        
        while(true) {
            dataRead();
        }
    }
    
    public static void main(String[] args) {
        Server2 server = new Server2();
    }
}
Java › JCheckBox v buňce JTable
20. 6. 2013   #178285

Ahoj, mám metodu která mi přidává na JFrame tabulku a v jednou sloupci tabulky by sem chtěl mít check box. Problém spočívá v tom že když na buňku s check boxem kliknu, sice obsah zareaguje a změní se, z true na false a obráceně, ale vidět je text a ne klasický čtvereček. I když při kliknutí na buňku se dokud neuvolním tlačítko myši objeví.

public void table() {
        DefaultTableModel dtm = new DefaultTableModel
                (getTableData(), getTableRow());      
        JTable table = new JTable(dtm);        
        table.setFillsViewportHeight(true);
        table.getColumnModel().getColumn(2).
                setCellEditor(new DefaultCellEditor
                (new JCheckBox()));
        JScrollPane scp = new JScrollPane(table);
        scp.setBounds(10, 10, 400, 200);
        window.add(scp);
}

Vstupní data do tabulky jsou Object [][] tableData = {{"text","text",new Boolean(false)}};

Za pomoc předem děkuju.

Bumblebee
Java › Nejde deklarace proměnné
9. 6. 2013   #177700

#4 KIIV
Ježiš omlouvám se až teď sem si toho všiml, koukal sem na to asi hodinu a nevšiml sem si že místo do logUser to hážu do dbUser... ctrl+mezerník a moje dislexie mi to občas dost komplikuje. Děkuju za trpělivost :D

Bumblebee
Java › Nejde deklarace proměnné
9. 6. 2013   #177696

#2 KIIV
Podle uvozovek hádám že sem zamotal terminologii :D...  Ale nad konstruktorem mám
 

 private String logUser = null;

Potom mám metodu
 

protected boolean controlLogin(String nameIn, String passwdIn) {
        try {
            rs = st.executeQuery("SELECT passwd FROM user WHERE nick = " + 
                    "'" + nameIn + "'");
            while(rs.next()) {
                String data = rs.getString("passwd");
                if(data.equals(passwdIn)) {
                    controlLogin = true;
                    this.dbUser = nameIn;
                    break;
                }else {
                    controlLogin = false;
                }
            }
        }catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }            
        return controlLogin;
    }

kterou se do toho "private String logUser = null;" snažím dostat obsah vstupní proměnné metody "String nameIn"
Tohle všechno sběhne OK když si dám za ten if něco vypsat tak to vypíše ale obsah private String logUser = null; se nemění.

Bumblebee
Java › Nejde deklarace proměnné
9. 6. 2013   #177685

Zdravím, mám problém s deklarací proměnné v metodě. Pomocí metody controlLogin ověřuju shodu hesla v DB se zadaným, na základě shody potom chci změnit údaj v logUser a tady nastává můj problém. Po sběhnutí metody se
obsah logUser nemění. Když vytvořím jinou metodu, nebo deklaruji logUser v konstruktoru, nebo userList vše funguje jak má. Už netuším co zkusit, budu vděčný za každou pomoc.

public class DBConnection {
    
    private Connection con;
    private Statement st;
    private ResultSet rs;
    
    private String dbUrl = "jdbc:mysql://*************/*****";
    private String dbUser = "*****";
    private String dbPasswd = "*****";
    
    private boolean controlLogin = false;
    private String logUser = null;
    
    protected DBConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(dbUrl, dbUser, dbPasswd);
            st = con.createStatement();
        }catch (ClassNotFoundException | SQLException ex){
            JOptionPane.showMessageDialog(null, ex); 
        }
    }
    
    protected boolean controlLogin(String nameIn, String passwdIn) {
        try {
            rs = st.executeQuery("SELECT passwd FROM user WHERE nick = " + 
                    "'" + nameIn + "'");
            while(rs.next()) {
                String data = rs.getString("passwd");
                if(data.equals(passwdIn)) {
                    controlLogin = true;
                    this.dbUser = nameIn;
                    break;
                }else {
                    controlLogin = false;
                }
            }
        }catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }            
        return controlLogin;
    }
    
    protected DefaultListModel userList() {
        DefaultListModel userList = new DefaultListModel();
        try {
            rs = st.executeQuery("SELECT nick FROM user");
            while(rs.next()) {
                userList.addElement(rs.getString("nick"));
            }
        } catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
        return userList;
    }
        
    protected void vypis () {
        System.out.println(logUser);
    }
    
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý