View Javadoc

1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  package org.apache.hadoop.hbase.hbtop.terminal.impl;
19  
20  import java.util.concurrent.TimeUnit;
21  
22  import org.apache.hadoop.hbase.hbtop.terminal.KeyPress;
23  import org.apache.hadoop.hbase.hbtop.terminal.Terminal;
24  
25  
26  public final class TestCursor {
27  
28    private TestCursor() {
29    }
30  
31    public static void main(String[] args) throws Exception {
32      try (Terminal terminal = new TerminalImpl()) {
33        terminal.refresh();
34        terminal.setCursorPosition(0, 0);
35  
36        terminal.getTerminalPrinter(0).print("aaa").endOfLine();
37        terminal.refresh();
38        TimeUnit.SECONDS.sleep(1);
39  
40        terminal.getTerminalPrinter(0).print("bbb").endOfLine();
41        terminal.refresh();
42        TimeUnit.SECONDS.sleep(1);
43  
44        terminal.setCursorPosition(1, 0);
45        terminal.refresh();
46        TimeUnit.SECONDS.sleep(1);
47  
48        terminal.setCursorPosition(2, 0);
49        terminal.refresh();
50        TimeUnit.SECONDS.sleep(1);
51  
52        terminal.setCursorPosition(3, 0);
53        terminal.refresh();
54        TimeUnit.SECONDS.sleep(1);
55  
56        terminal.setCursorPosition(0, 1);
57        terminal.refresh();
58        TimeUnit.SECONDS.sleep(1);
59  
60        terminal.getTerminalPrinter(1).print("ccc").endOfLine();
61        terminal.refresh();
62        TimeUnit.SECONDS.sleep(1);
63  
64        terminal.getTerminalPrinter(3).print("Press any key to finish").endOfLine();
65        terminal.refresh();
66  
67        while (true) {
68          KeyPress keyPress = terminal.pollKeyPress();
69          if (keyPress == null) {
70            TimeUnit.MILLISECONDS.sleep(100);
71            continue;
72          }
73          break;
74        }
75      }
76    }
77  }